java - Ubuntu: cambia la ruta de acceso de OpenJDK 6 a Oracle JDK 7
install oracle java 8 ubuntu (5)
Después de descargar el último archivo .tar, ejecuté tar zxvf jdk-7u45-linux-x64.tar.gz
para extraer archivos java.
Establezca la ruta en el archivo .bashrc
( vi ~/.bashrc
) como se muestra a continuación;
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45/bin/java
export PATH=$PATH:/usr/lib/jvm/jdk1.7.0_45/bin
export JDK_HOME=/usr/lib/jvm/jdk1.7.0_45
export JRE_HOME=/usr/lib/jvm/jre1.7.0_45
Ahora, ejecutando el comando java -version
o que java, java PATH sigue apuntando a la versión java más antigua ( java version "1.6.0_27"
).
Sé que Ubuntu predeterminado toma la ruta de acceso OpenJDK. Tengo que cambiar la ruta como última versión, ya que mi variable de entorno del sistema está configurada en el archivo .bashrc
.
Además, sudo update-alternatives --config java
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 manual mode
* 3 /usr/lib/jvm/jdk1.7.0_45/bin/java 1 manual mode
Press enter to keep the current choice[*], or type selection number: 3
Ejecutando comando en terminal:
sudo update-alternatives --config java
desde la línea de comandos para configurar la versión del JRE que desea usar como la versión disponible, instale java: 1.6 y 1.8
Vea abajo :
y elija la opción 1 y configure la versión java-6 porque la opción actual ya está establecida en java-8.
Intenta escribir lo siguiente en tu terminal.
sudo update-alternatives --config java
El resultado será algunas opciones y puede seleccionar la correcta que se instaló en su computadora.
Probablemente quieras hacer
export PATH=/usr/lib/jvm/jdk1.7.0_45/bin:$PATH
Es probable que OpenJDK aún esté en la ruta, y Linux usará el primer java
que encuentre.
Si no lo necesita, recomendaría desinstalar OpenJDK.
Ubuntu (y Debian) tienen una forma elegante de administrar bibliotecas como jdk
.
Usando update-alternatives
puede administrar varias bibliotecas jdk
en el mismo sistema, eligiendo la que desea usar como la principal.
Primero tienes que instalar una alternativa para el nuevo jdk instalado:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_45/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_45/bin/javac" 1
De este modo, instala el nuevo jdk
como alternativa al original. Luego puedes elegir cuál quieres usar:
sudo update-alternatives --config java
sudo update-alternatives --config javac
Se le pedirá que elija qué jdk desea usar, en mi sistema tengo:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode
* 2 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 manual mode
Press enter to keep the current choice[*], or type selection number:
En cualquier momento puede ver qué alternativas tiene para java
o javac
usando la opción --list
:
sudo update-alternatives --list java
sudo update-alternatives --list javac
Para ver más opciones consulte la página de manual de update-alternatives
.
correr
sudo update-java-alternatives --list
para enumerar todas las instalaciones de Java en una máquina por nombre y directorio, y luego ejecutar
sudo update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]
para elegir qué JRE / JDK utilizar.
Si desea utilizar diferentes JDK / JRE para cada tarea de Java, puede ejecutar alternativas de actualización para configurar un ejecutable Java a la vez; Tu puedes correr
sudo update-alternatives --config java[Tab]
para ver los comandos de Java que se pueden configurar (java, javac, javah, javaws, etc.). Y entonces
sudo update-alternatives --config [javac|java|javadoc|etc.]
asociará esa tarea / comando Java a un JDK / JRE particular.
Es posible que también debas configurar JAVA_HOME para algunas aplicaciones: desde esta respuesta puedes usar
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
para JREs, o
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
para JDKs.