Eclipse, Java de SUN i gij
De SergiTurWiki
Eclipse a Ubuntu
Eclipse a Ubuntu es pot obtenir dels repositoris. El problema és que tal i com es pot observar en el següent gràfic:
Els repositoris no tenen la última versió (L'actual és 3.2 i els repositoris tenen la 3.1.2). Eclipse necessita java per funcionar. El problema és que el Java de SuN no es 'completament' Open Source i per tant Ubuntu utilitza una Java anomenat GIJ que si que és completament Open Source.
Per fer que el sistema utilitzi la versió de JAVA de SUN podem:
- Obtenir la última versió de java de la web de SUN (En el moment d'escriure aquest article http://java.sun.com/j2se/1.5.0/download.jsp)
- Canviar el PATH del sistema. Si utilitzem bas podem afegir les següents linies al fitxer ~/.bashrc:
export JAVA_HOME=~/jdk1.5.0_09 export PATH=$JAVA_HOME/bin:$PATH
Consulteu l'apartat Java SUN vs GIJ per veure com comprovar si ja us utilitza la versió de SUN de JAVA.
El problema és que amb això no és prou perquè eclipse s'executi utilitzant Java de SUN. Els passos que jo he seguit son:
- Moure el fitxer d'execució d'eclipse:
$mv {Path_A_La_Teva_Instal·lació_Eclipse}/eclipse {Path_A_La_Teva_Instalació_Eclipse}/eclipse_exec
- Crear un nou executable eclipse
$nano {Path_A_La_Teva_Instal·lació_Eclipse}/eclipse
#!/bin/bash
export JAVA_HOME=/home/sergi/jdk1.5.0_09
export PATH=$JAVA_HOME/bin:$PATH
exec {Path_A_La_Teva_Instal·lació_Eclipse}/eclipse_exec
Els valors dels paths s'han de modificar als valors adients al teu sistema. Ara ja podem executar eclipse
${Path_A_La_Teva_Instal·lació_Eclipse}/eclipse
Podem comprovar que s'utilitzi el Java de sun amb ps:
$ ps aux | grep java sergi 9541 0.6 8.9 339988 92460 pts/1 Sl+ 09:05 0:10 /home/sergi/jdk1.5.0_09/bin/java -jar /home/sergi/eclipse/startup.jar -os linux -ws gtk -arch x86 -launcher /home/sergi/eclipse/eclipse_exec -name Eclipse_exec -showsplash 600 -exitdata 3a8011 -vm /home/sergi/jdk1.5.0_09/bin/java -vmargs -jar /home/sergi/eclipse/startup.jar
Ara l'últim pas és afegir el Java de SUN a la configuració d'eclipse. Al menu Window/Preferences
A la secció Java/Installed JREs
Afegim el path a el JAVA de SUN:
Java SUN vs GIJ
Podem saber si estem utilitzant GIJ o Java sun executant:
% java
Usage: gij [OPTION] ... CLASS [ARGS] ...
to invoke CLASS.main, or
gij -jar [OPTION] ... JARFILE [ARGS] ...
to execute a jar file
Try `gij --help' for more information.
Com veiem en aquest cas es tracta de gij. Si tinguéssim la versió de JAVA SUN el resultat seria:
$ java
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A : separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
NOTA: La versió de Java de SUN es pot obtenir dels repositoris multiverse (paquets sun-java-*) o es pot descarregar de la web de SUN. Recomano descarregar de la web de SUN.


