Monday, July 20, 2020

Múltiples versiones de java

variables de ambiente que tengo que definir usualmente:
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_37
Configurar la variable JRE_HOME.

# export JRE_HOME=/usr/lib/jvm/jdk1.6.0_37/jre
Configurar la variable PATH.

# export PATH=$PATH:/usr/lib/jvm/jdk1.6.0_37/bin:/usr/lib/jvm/jdk1.6.0_37/jre/bin
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre

Las diferentes versiones de openjdk(s) se guardan en:

/usr/lib/jvm/

Otra ruta importante de java eso un  symbolic link en:

/usr/lib/jvm/default <- el sistema utiliza esto por defecto en cualquier dependencia

/usr/lib/jvm/default-java <- ubuntu

Se guarda un enlace simbolico a la version por defecto de java

ls -l /etc/alternatives/java

Cambiar de java version, con versiones  instaladas por paquetes (ubuntu)

update-java-alternatives --list

sudo update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64
OR 
sudo update-java-alternatives --jre-headless --jre --set java-1.8.0-openjdk-amd64

OR

sudo update-alternatives --config java
sudo update-alternatives --config javac

Como instalar multiples java en centos.

sudo yum install java-1.8.0-openjdk.x86_64

Esto instala aca:

[centos@ip-10-0-100-147 lib]$ whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
---------------------------------------------------------------------------------------------
/usr/bin/java -> /etc/alternatives/java
-----------------------------------------------------------------------------------------------
/etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/bin/java

Copiar las nuevas versiones en el path o instalar por el gestor de paquetes la version de jdk:

/usr/lib/jvm/

y ejecutamos (solo centos):

alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/bin/java 1

alternatives --config java

también se tiene que actualizar (solo centos):

alternatives --set jar  /usr/lib/jvm/java-8-openjdk-amd64/bin/jar
alternatives --set javac  /usr/lib/jvm/java-8-openjdk-amd64/bin/javac