jdk - ¿Cómo configurar Java de Oracle como Java por defecto en Ubuntu?
java linux (8)
Mira this correr
sudo update-java-alternatives --list
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 usar.
Si desea utilizar diferentes JDK / JRE para cada tarea de Java, puede ejecutar update-alternatives para configurar un ejecutable de 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 de Java a un JDK / JRE en particular.
Es posible que también deba configurar JAVA_HOME para algunas aplicaciones: a partir de esta respuesta puede usar
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
para JRE, o
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
para JDKs.
¿Cómo cambio el valor de JAVA_HOME
en Ubuntu para apuntar a Java de Oracle?
¿Debería apuntar a java-6-sun
o java-6-sun-1.6.0.24
?
Puse la línea:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
en mi archivo ~/.bashrc
.
/usr/lib/jvm/java7-oracle
debe ser un enlace simbólico que apunte a /usr/lib/jvm/java-7-oracle-[version number here]
.
La razón por la que se trata de un enlace simbólico es que, en caso de que exista una nueva versión de JVM, no es necesario que actualice su archivo .bashrc
, sino que debe apuntar automáticamente a la nueva versión.
Si desea establecer las variables de entorno JAVA_HOME globalmente y a nivel del sistema significa que el uso debe establecerse en el archivo / etc / environment . Para más .
Si desea cambiarlo globalmente y a nivel del sistema;
En
/etc/environment
agregue esta línea:
JAVA_HOME=/usr/lib/jvm/java-7-oracle
Si desea que esta variable de entorno esté disponible para todos los usuarios y para el inicio del sistema, puede agregar lo siguiente a /etc/profile.d/java.sh ( créelo si es necesario):
export JDK_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Luego en una carrera de terminal:
sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh
Mi segunda pregunta es: ¿debería apuntar a java-6-sun o java-6-sun-1.6.0.24?
Siempre debe apuntar a java-7-oracle
como los enlaces simbólicos al último instalado (suponiendo que haya instalado Java desde los repositorios de Ubuntu y ahora desde la descarga disponible en oracle.com).
Si desea utilizar una versión específica de Java cuando se instalan varios JDK, simplemente configurar JAVA_HOME podría no funcionar.
Necesita usar sudo update-alternatives --config java
para establecer Java por defecto.
Consulte https://askubuntu.com/questions/121654/how-to-set-default-java-version .
Si está realizando algún tipo de desarrollo, debe apuntar al JDK (Java Development Kit). De lo contrario, puede apuntar a JRE (Java Runtime Environment).
El JDK contiene todo lo que tiene el JRE y más. Si solo está ejecutando programas Java, puede señalar JRE o JDK.
Debe establecer JAVA_HOME
según la Java actual que está utilizando. readlink
imprimirá el valor de un enlace simbólico para Java actual y sed
lo ajustará al directorio JRE:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
Si desea configurar JAVA_HOME en JDK, debe subir una carpeta más:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
java 6
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64
o java 7
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
para establecer el Java SE Development Kit de Oracle como el sistema Java predeterminado simplemente descargue el último Java SE Development Kit desde here luego cree un directorio en su sistema de archivos, por ejemplo /usr/java
ahora extraiga los archivos que acaba de descargar en ese directorio:
$ sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/java
ahora para configurar su variable de entorno JAVA_HOME
:
$ JAVA_HOME=/usr/java/jdk1.8.0_05/
$ sudo update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000
$ sudo update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000
asegúrese de que el java de Oracle esté configurado como java predeterminado de la siguiente manera:
$ update-alternatives --config java
obtienes algo como esto:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /opt/java/jdk1.8.0_05/bin/java 20000 auto mode
1 /opt/java/jdk1.8.0_05/bin/java 20000 manual mode
2 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode
Press enter to keep the current choice[*], or type selection number:
preste atención al asterisco antes de los números de la izquierda y, si no está configurado, elija el correcto ingresando el número y presionando enter. ahora prueba tu java:
$ java -version
si obtienes algo como lo siguiente, estás listo para ir:
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)
También tenga en cuenta que es posible que necesite permiso de root o estar en sudoers group para poder hacer esto. He probado esta solución tanto en ubuntu 12.04 como en Debian wheezy y funciona en ambos.