
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/jvm
no 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 ls
directorio 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 -version
la 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 -version
me 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 java
regresará 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:
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-alternatives
comando del java-common
paquete y los *.jinfo
archivos 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.