No se puede cambiar JAVA_HOME

No se puede cambiar JAVA_HOME

Cuando ejecuto java -version en mi terminal obtengo:

user@ubuntu:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Necesito cambiar mi Java a 5. He descargado jdk5 que se encuentra aquí:

/home/user/tools/jdk1.5.0_22

Primero intenté agregar lo siguiente a mi archivo ~/.bashrc:

JAVA_HOME=/home/user/tools/jdk1.5.0_22
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH 

Luego reinicié mi terminal pero todavía aparece:

user@ubuntu:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Luego intenté agregar JAVA_HOMEa /etc/environment:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

JAVA_HOME=/home/user/tools/jdk1.5.0_22

Después de reiniciar la terminal (cerrar y abrir una nueva), Java todavía apunta a jdk 7:

user@ubuntu:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Pero parece que JAVA_HOME está configurado:

user@ubuntu:~$ echo $JAVA_HOME
/home/user/tools/jdk1.5.0_22

¿Cómo cambio la versión de Java que uso?

Respuesta1

El primer ejecutable de Java que se encuentra en su RUTA es /usr/bin/java, que probablemente sea un enlace al /etc/alternatives/javaque probablemente sea un enlace a /usr/lib/jvm/java-7-oracle/jre/bin/java.

Puede intentar configurar su RUTA para que tenga su nueva ubicación de Java al principio. Hiciste lo contrario al agregarlo al final. Deberías haber probado lo siguiente:

export PATH=/home/user/tools/jdk1.5.0_22/bin:$PATH

En combinación con JAVA_HOME debería estar bien, pero otra forma más estilo Debian (o ubuntu) es usar la update-alternativesutilidad.

sudo update-alternatives --install /usr/bin/java java /home/user/tools/jdk1.5.0_22/bin/java 100
sudo update-alternatives --set java /home/user/tools/jdk1.5.0_22/bin/java

Pero debe hacer esto con todos los archivos ejecutables que desee utilizar en esa instalación.

Para más detalles verhttps://askubuntu.com/q/159575/11831

Respuesta2

Es posible que desee consultar el whereiscomando y las alternativas. Compruebe si hay un enlace simbólico /etc/alternatives/javaque apunte a IcedTea en lugar del ejecutable de Java que desee. Es posible que desees marcar el alternativescomando para instalar una nueva alternativa y configurarla como desees.

Editar: enlace a la documentación de RHEL como ejemplo: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_SOA_Platform/4.3/html/Getting_Started_Guide/appe-install_jdk_rhel.html

información relacionada