Buscar aquí

30 mayo 2013

Cambiar la version de java con alternatives???


Un clásico problema es que Linux trae instalado el java de OpenJDK y por razones de compatibilidad con varios programas, necesito instalar la maquina virtual de Oracle (SUN).  Ahora si se intenta hacer un remove de OpenJDK, se borrará libreoffice y otros tantos programas, por eso, usar alternatives es una buena opción.

Primero, si se ve la versión actual de java veremos:

[root@laptop ~]# java -version
java version "1.7.0_b147-icedtea"
OpenJDK Runtime Environment (fedora-2.1.fc17.6-x86_64)
OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode

Después instalar la maquina virtual que queremos de Oracle -SUN-.

Si queremos saber dónde está instalada esta versión de java o cuales están instaladas es fácil ejecutar

[root@laptop ~]#alternatives --display java

Esto arroja un listado largo con todas las versiones instaladas y posibles de utilizar.

Ahora hay que "instalar" esta nueva máquina a alternatives y se hace así:

[root@laptop ~]#alternatives --install "/usr/bin/java" java /usr/java/jre1.7.0_21/bin/java 100

 - "/usr/bin/java", es el nombre del programa que se pone en /usr/bin
 - java, es el nombre de la agrupación en alternatives.
 - /usr/java/jre1.7.0_21/bin/java, es la ruta completa al binario de java.
 - 100, es la prioridad que le daremos a esto... da igual el número.

Ahora, le indicaremos a alternatives que la versión que nos interesa es la que acabamos de instalar, entonces:

[root@laptop ~]# alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/java/jre1.7.0_21/bin/java

Enter to keep the current selection[+], or type selection number: 2


[root@laptop ~]# java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)