¿Cómo configurar la versión predeterminada de Java?

¿Cómo configurar la versión predeterminada de Java?

Seguí todas las instrucciones indicadas en estepregunta, pero tengo algunos problemas con la última parte.

De hecho, tengo la versión 6.22 de Java y me gustaría actualizar a la versión 6.30.

Entonces, después de mover el directorio extraído java-6-oracle, /usr/lib/jvmno sé qué hacer, ya que el script que se indica en la respuesta anterior se actualiza de Java 5 a Java 6.

Para mayor claridad, aquí se muestra el resultado si hago un lsdirectorio interno /usr/lib/jvm:

$ ls -l /usr/lib/jvm
total 8 
lrwxrwxrwx  1 root root   14 2011-07-12 15:18 default-java -> java-6-openjdk
lrwxrwxrwx  1 root root   14 2011-07-12 12:19 java-1.6.0-openjdk -> java-6-openjdk 
drwxr-xr-x 10 root root 4096 2012-04-12 12:06 java-6.31-oracle 
drwxr-xr-x  7 root root 4096 2012-02-24 14:43 java-6-openjdk

¿Qué debería hacer ahora?


PARTE AÑADIDA

Bajo la sugerencia de @fossfreedom ejecuté el script de todos modos y de hecho actualizó la versión de Java.

De hecho, si ejecuto el comando, java -versionla salida será la siguiente:

$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)

Haysigue siendo un problema, si Irun javac -versionme da la versión antigua instalada:

$ javac -version
javac 1.6.0_22

Y si uso el probador en esteenlaceme dirá que versión es

Java Version 1.6.0_22 from Sun Microsystems Inc.

¿Qué pasa?

Parece que Java Runtime Environment se ha actualizado, pero el compilador Java y el complemento Java para el navegador no.

¿Cómo puedo actualizarlos?


OTRA PARTE AÑADIDA

sudo update-alternatives --config javaregresará después de la salida

$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      manual mode

Press enter to keep the current choice[*], or type selection number:

Esto tiene sentido con el hecho de que JRE está actualizado correctamente a la versión 6.31, los problemas están en el compilador Java y el complemento del navegador Java.

¿Algunas ideas?

Respuesta1

Re tu primera pregunta:

posiblemente le confunda que el script webupd8 sea 0.5b. Esa es la versión del script; no se refiere a la versión de Java.

Además de la configuración de la versión javac.

Sospecho que necesitas dar explícitamente la ruta del compilador javac.

es decir

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6.31-oracle/bin/javac" 1

seguido por:

sudo update-alternatives --config javac

Con respecto a la configuración del complemento Java Chrome.

La pregunta maestra:

¿Cómo instalo Oracle JDK 6?

incluye esta información; dado que la estructura de su carpeta es ligeramente diferente, su comando de enlace debería ser:

ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

Respuesta2

Vereste; 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 usar.

Si desea utilizar diferentes JDK/JRE para cada tarea de Java, puede ejecutar alternativas de actualización para configurar un ejecutable de Java a la vez; Tu puedes correr

sudo  update-alternatives --config java[Tab]

para ver los comandos Java que se pueden configurar (java, javac, javah, javaws, etc). Y luego

sudo  update-alternatives --config [javac|java|javadoc|etc.]

asociará esa tarea/comando Java a un JDK/JRE particular.

Es posible que también necesite configurar JAVA_HOME para algunas aplicaciones: desdeesta respuestapuedes 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 JDK.

Respuesta3

Creo que deberías echar un vistazo al update-java-alternativescomando del java-commonpaquete y los *.jinfoarchivos que utiliza. Con eso deberías poder cambiar completamente entre instalaciones de Java (independientemente de JDK, JRE, ...).

Respuesta4

Si va a configurar manualmente alternativas para javac javaws javadoc o cualquier otro comando relacionado con Java, es posible que desee convertirlos en esclavos de la alternativa de Java.

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_74/bin/java" 0 --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk1.8.0_74/bin/javadoc"


update-alternatives: updating alternative /opt/jdk1.8.0_74/bin/java because link group java has changed slave links


:/opt/jdk1.8.0_74$ sudo update-alternatives --display java

java - la mejor versión del enlace en modo automático es /opt/jdk1.8.0_74/bin/java el enlace actualmente apunta a /opt/jdk1.8.0_74/bin/java enlace java es /usr/bin/java esclavo javadoc es /usr/bin /javadoc /opt/jdk1.8.0_74/bin/java - javadoc esclavo de prioridad 0: /opt/jdk1.8.0_74/bin/javadoc

Cambie /opt/jdk1.8.0_74/ con el directorio donde está instalado su jdk.

información relacionada