Gentoo Java Guide Karl Trygve Kalleberg Raffaele Camarda Stefano Lucidi Cristiano Chiucchiolo Questa guida vuole essere un'introduzione per gli utenti e per gli sviluppatori a Java, approfondendo l'utilizzo di tale piattaforma su Gentoo Linux. 0.2 2005-12-12 Che cosa è Java?
Panoramica

Java è un linguaggio di programmazione, multipiattaforma ed orientato agli oggetti, sviluppato dagli ingegneri della Sun Microsistem. Pensato per girare su ogni architettura senza la necessità di essere ricompilato, offre anche la possibilità di compilare eseguibili nativi. Gran parte della popolarità di Java è dovuta sicuramente alla sua portabilità oltre che alla presenza di alcune feature particolari come il garbage collector. La possibilità di compilare una volta ed eseguire su diverse architetture si ottiene grazie all'utilizzo di compilatori JIT (Just-in-time - quando serve), che compilano il codice Java in codice nativo solo quando chiamato in esecuzione.

Per far girare il codice Java è necessario avere installato un JRE (Java Runtime Environment) che fornisce le librerie necessarie, una Java Virtual Machine dipendente dall'architettura, i plug-ins per i browser ed altre funzionalità. Per avere un ambiente di programmazione Java bisogna installare un JDK (Java Development Kit) che comprende un compilatore ed un debugger.

Installare JRE/JDK

Gentoo offre diverse possibilità per ambienti JRE e JDK. Tra le alternative ci sono:

  • blackdown-jre e blackdown-jdk, il Blackdown Java Kit
  • sun-jre-bin e sun-jdk, Sun's Java Kit
  • ibm-jre-bin e ibm-jdk-bin, l'IBM Java Kit
  • compaq-jre e compaq-jdk, il Compaq Java Kit per Alpha/Linux/GNU
  • jrockit-jdk-bin, BEA WebLogic's J2SE Development Kit

L'opzione di default è l'accoppiata JRE/JDK della BlackDown poiché questa è disponibile gratuitamente (free as a free beer) senza la necessità di nessuna registrazione.

I prodotti, sia della Sun che della IBM, sono generalmente più veloci, ma per ottenerli bisogna leggere ed accettare la loro licenza; la IBM in più richiede anche una registrazione.

Gli ebuild per gli ambienti Java della Sun e della IBM vi notificheranno da dove scaricare i pacchetti necessari per l'installazione.

Installare gli ambienti Java (JRE/JDK) della Sun e della IBM

Eseguendo emerge =sun-jdk-1.4.2.06 o =ibm-jdk-bin-1.4.2, viene segnalato che il download dei tarball deve essere eseguito manualmente. Questo a causa delle licenze restrittive di JDK/JRE di Sun (lettura on line della licenza) e dell'obbligo di registrazione di JDK/JRE di IBM.

ibm-jdk-bin attualmente è mascherato, lo dovrete smascherare per emergerlo

Dovrete scaricare i file richiesti all'interno di /usr/portage/distfiles ed a questo punto potete rieseguire emerge così da installare JDK/JRE all'interno di /opt.

Configurazione di JDK/JRE
Panoramica

Gentoo permette di avere più JDK e JRE installati contemporaneamente senza conflitti.

Utilizzando java-config si può impostare l'ambiente Java da utilizzare per tutto il sistema se si hanno i privilegi di root. Anche gli utenti possono utilizzare java-config ma possono configurare soltanto il loro ambiente operativo e non quello di tutto il sistema.

Configurare i JDK/JRE predefiniti

Eseguendo il comando java-config --list-available-vms viene visualizzata la lista degli JRE e JDK disponibili sul sistema in uso:

java-config --list-available-vms
[blackdown-jdk-1.3.1] Blackdown JDK 1.3.1 (/etc/env.d/java/20blackdown-jdk-1.3.1)
[blackdown-jre-1.3.1] Blackdown JRE 1.3.1 (/etc/env.d/java/20blackdown-jre-1.3.1)
[ibm-jdk-1.3.0] IBM JDK 1.3.0 (/etc/env.d/java/20ibm-jdk-1.3.0)
[ibm-jdk-1.3.1] IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1)
[ibm-jre-1.3.1] IBM JRE 1.3.1 (/etc/env.d/java/20ibm-jre-1.3.1)
[sun-jdk-1.4.0] Sun JDK 1.4.0 (/etc/env.d/java/20sun-jdk-1.4.0)

Il nome scritto tra parentesi quadre "[]" è l'identificativo di ogni particolare VM e viene passato come parametro a java-config --set-system-vm, in questo modo:

java-config --set-system-vm=ibm-jdk-1.3.1
Now using IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1)
Bisogna avere i diritti di amministratore per eseguire --set-system-vm

Una volta lanciato java-config --set-system-vm con una particolare VM, è necessario rigenerare il proprio /etc/profile.env, in questo modo:

env-update

A questo punto, potete effettuare un nuovo login o eseguire /etc/profile.

Nel caso di un utente normale, può essere utilizzato java-config --set-user-vm, che crea ~/.gentoo/java-env con tutte le variabili di ambiente necessarie. Normalmente si inserisce una riga all'interno dello script di avvio della shell (generalmente ~/.bashrc) )che effettui un source del file in questione.

Le flag da impostare in USE per utilizzare Java
Impostare le flag

Per maggiori informazioni riguardo l'utilizzo delle flag di USE, fate riferimento al capitolo USE flags del Manuale Gentoo.

Le flag
  • La flag java aggiunge il supporto a java in una serie di programmi.
  • La flag nsplugin aggiunge un link simbolico al javaplugin per i browser Mozilla-like (incluso Firefox) se si sta utilizzando l'ambiente Java BlackDown, IBM o Sun. Questa flag è necessaria se volete essere in grado di visualizzare le applet java durante la navigazione.
Risorse aggiuntive
Risorse off-line
  • java-config man page
  • java-config --help
  • Lo script /usr/bin/java-config
Risorse online
  • Il Gentoo Java Project
  • Le mailinglist: gentoo-dev, gentoo-user e gentoo-java
  • #gentoo e #gentoo-java su irc.freenode.net
  • La pagina dedicata a Java su Wikipedia