downloadDownload FAQFAQ
Site Navigation:
 
 

14. Java e java-gcj-compat

Questa versione di Fedora Core include un ambiente Java gratuito ed open source, chiamato java-gcj-compat. La collezione java-gcj-compat include una suite di strumenti ed un ambiente di esecuzione che è capace di compilare ed eseguire molti utili programmi scritti nel linguaggio di programmazione Java.

[Nota]Fedora Core non include Java

Java è un marchio di Sun Microsystems. java-gcj-compat è uno stack di software interamente libero che non è Java, ma può eseguire software Java.

L'infrastruttura java-gcj-compat ha tre componenti chiave: un runtime GNU Java (libgcj), il compilatore Eclipse Java (ecj), ed un gruppo di wrappers e links (java-gcj-compat) che presentano il runtime ed il compilatore all'utente in una maniera simile a quella di altri ambienti Java.

I pacchetti software Java inclusi in questa versione di Fedora usano l'ambiente java-gcj-compat. Questi pacchetti includono OpenOffice.org Base, Eclipse, ed Apache Tomcat. Fare riferimento alle Java FAQ su http://www.fedoraproject.org/wiki/JavaFAQ per maggiori informazioni sul ambiente Java libero java-gcj-compat in Fedora.

[Importante]Includere posizione ed informazione di versione nelle segnalazioni d'errore

Quando si crea una segnalazione d'errore, si deve essere sicuri di includere l'output di questi comandi:

which java && java -version && which javac && javac -version 

14.1. Gestire i pacchetti Java e Java-like

Oltre allo stack di software libero java-gcj-compat, Fedora Core permetterà di installare molteplici implementazioni Java e cambiare fra loro usando lo strumento a linea di comando alternatives. Comunque, ogni sistema Java installato dovrà essere pacchettizzato usando le linee guida del JPackage Project per ottenere beneficio da alternatives. Una volta che questi pacchetti sono installati correttamente, l'utente root potrà cambiare fra le implementazioni java e javac usando il comando alternatives:

alternatives --config java  
alternatives --config javac

14.2. Librerie JNI 64-bit

Le librerie JNI a 64-bit distribuite per impostazione predefinita sui sistemi a 64-bit in Fedora Core ed Extras non sono eseguibili sulle JREs a 32-bit. Perciò si deve passare ad un alternativa java a 64-bit, od installare la versione a 32-bit dei pacchetti, se disponibili. Per installare una versione a 32-bit, usare il seguente comando:

yum install <package_name>.i386 

Allo stesso modo, le librerie JNI a 32-bit distribuite per impostazione predefinita sui sistemi ppc64 non funzioneranno con una JRE a 64-bit. Per installare la versione a 64-bit, usare il seguente comando:

yum install <package_name>.ppc64 

14.3. Amministrare le applets Java

Questa versione di Fedora Core include una versione di anteprima di gcjwebplugin, un plugin per Firefox per le applets Java. gcjwebplugin non è abilitato per impostazione predefinita. Nonostante l'implementazione di sicurezza in GNU Classpath sia stata attivamente sviluppata, non è abbastanza matura per eseguire applets prive di fiducia con sicurezza. D'altra parte, le implementazioni AWT e Swing in GNU Classpath sono ora sufficientemente mature per eseguire molte delle applets distribuite nel web. Gli utenti avventurosi che vogliono provare gcjwebplugin possono leggere /usr/share/doc/libgcj-4.1.1/README.libgcjwebplugin.so, installato dal gcc rpm. Il README spiega come abilitare il plugin ed i rischi associati nel farlo.

14.4. Fedora ed i pacchetti Java JPackage

Fedora Core include molti pacchetti derivati dal JPackage Project, che fornisce un repositorio di software Java. Questi pacchetti sono modificati in Fedora per rimuovere le dipendenze a software proprietario e far uso della caratteristica di compilazione di GCJ ahead-of-time. Si usino i repositori Fedora per aggiornare questi pacchetti, od il repositorio JPackage per quei pacchetti non forniti da Fedora. Fare riferimento al sito web di JPackage su http://jpackage.org per maggiori informazioni sul progetto ed il software che fornisce.

[Avvertimento]Mescolare pacchetti fra Fedora e JPackage

Verificare la compatibilità dei pacchetti prima di installare software da entrambe i repositori Fedora e JPackage sullo stesso sistema. Pacchetti incompatibili possono causare problemi complessi.

14.5. Eclipse

Questa versione di Fedora Core include Fedora Eclipse, che è basata sulla Eclipse SDK versione 3.2. La pagina "New and Noteworthy" per questa versione è accessibile da qui.

Rilasciata a giugno 2006, l'SDK è svariatamente conosciuto come "the Eclipse Platform," "the Eclipse IDE," ed "Eclipse." L'Eclipse SDK è il fondamento per le versioni combinate di dieci progetti Eclipse sotto la versione combinata Callisto. Una parte di questi progetti Callisto sono inclusi in Fedora Core ed Extras: CDT, per lo sviluppo C/C++, e GEF, il Graphical Editing Framework.

Speriamo di aumentare questi progetti con altri mentre il ciclo di Fedora va avanti. Trai candidati proposti per l'inclusione ci sono EMF, l'Eclipse Modeling Framework, e VE, il Visual Editor. Mentre stiamo scrivendo, è attesa una versione aggiornata di PyDev, gli strumenti di sviluppo Python, che saranno disponibili in Fedora Extras. Assistenza per mantenere questi progetti pacchettizzati e testati con GCJ è sempre la benvenuta. Contattare le parti interessate attraverso la fedora-devel-java-list e/o #fedora-java su freenode.

Fedora include anche plugins e caratteristiche che sono particolarmente utili per gli hackers FOSS: ChangeLog editare con eclipse-changelog e l'interazione di Bugzilla con eclipse-bugzilla. I nostri pacchetti CDT includono inoltre un supporto work-in-progress per lo GNU Autotools. Le ultime informazioni riguardanti questi progetti possono essere trovate sulla pagina del Fedora Eclipse Project.

14.5.1. Plugins/Caratteristiche non pacchettizzate

Fedora Eclipse contiene una patch per consentire ad utenti non-root di far uso della funzionalità Update Manager per installare i plugins e le caratteristiche non non-pacchettizzate. Tali plugins sono installati nella home directory utente sotto la directory .eclipse. Si noti, comunque, che questi plugin non hanno bits compilati-GCJ associati e potrebbero perciò essere eseguiti più lentamente di quanto ci si aspetta.