La instalación de openjdk-7-jdk no actualiza Java (que todavía es la versión 1.6)

La instalación de openjdk-7-jdk no actualiza Java (que todavía es la versión 1.6)

Tengo problemas para actualizar Java. Estoy ejecutando Ubuntu 11.10.

Puedo ejecutar sudo apt-get install openjdk-7-jdky se completa con éxito. javac -versiones 1.7, sin embargo java -versiones 1.6. Esto es similar aeste problemapero mi problema no es, hasta donde yo sé, el camino.

$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Gracias.

Respuesta1

Actualizar:

Encontré un sitio que tiene una explicación bastante buena:ENLACE


Desde el enlace:

Luego tenemos que hacer alguna configuración.
Debian tiene un script para mantener diferentes versiones de programas como javalos llamados update-alternatives.

alternativas de actualización --instalar /usr/bin/java java /usr/lib/jvm/jdk1.7.0/bin/java 1065
alternativas de actualización --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0/bin/javac 1065

Donde 1065 es una prioridad dada.

Para verificar mi instalación utilizo –configel parámetro
update-alternatives --config java
que esto imprime:
There are 2 choices for the alternative java (providing /usr/bin/java).

Estado de prioridad de ruta de selección
-------------------------------------------------- ----------
* 0 /usr/lib/jvm/jdk1.7.0/bin/java 1065 modo automático
  1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 modo manual
  2 /usr/lib/jvm/jdk1.7.0/bin/java 1065 modo manual

Y debido a que 1065 es mayor que 1061, el Java 7 recién instalado se usará de forma predeterminada en java -version
las impresiones de mi máquina:

versión de java "1.7.0"
 Entorno de ejecución Java(TM) SE (compilación 1.7.0-b147)
 Máquina virtual de servidor Java HotSpot(TM) de 64 bits (compilación 21.0-b17, modo mixto)

Notas: Esto podría hacerlo más comprensible.

SLES11 # que java
/usr/bin/java

SLES11 # actualización-alternativas --list java
/usr/lib64/jvm/jre-1.6.0-ibm/bin/java

SLES11 # actualización-alternativas --display java
java: el estado es automático.
 el enlace actualmente apunta a /usr/lib64/jvm/jre-1.6.0-ibm/bin/java
/usr/lib64/jvm/jre-1.6.0-ibm/bin/java - prioridad 1608
 rmiregistry esclavo: /usr/lib64/jvm/jre-1.6.0-ibm/bin/rmiregistry
 esclavo tnameserv: /usr/lib64/jvm/jre-1.6.0-ibm/bin/tnameserv
 esclavo rmid: /usr/lib64/jvm/jre-1.6.0-ibm/bin/rmid
 esclavo jre_exports: /usr/lib64/jvm-exports/jre-1.6.0-ibm
 herramienta de política esclava: /usr/lib64/jvm/jre-1.6.0-ibm/bin/policytool
 herramienta de claves esclava: /usr/lib64/jvm/jre-1.6.0-ibm/bin/keytool
 esclavo jre: /usr/lib64/jvm/jre-1.6.0-ibm
La "mejor" versión actual es /usr/lib64/jvm/jre-1.6.0-ibm/bin/java.

La página de manual proporciona la ruta que utilizan las alternativas de actualización para su directorio.

SLES11 #contraseña
/etc/alternativas

SLES11#ll
lrwxrwxrwx 1 raíz raíz 37 19 de marzo 06:03 java -> /usr/lib64/jvm/jre-1.6.0-ibm/bin/java
lrwxrwxrwx 1 raíz raíz 28 19 de marzo 06:03 jre -> /usr/lib64/jvm/jre-1.6.0-ibm
lrwxrwxrwx 1 raíz raíz 28 19 de marzo 06:03 jre_1.6.0 -> /usr/lib64/jvm/jre-1.6.0-ibm
lrwxrwxrwx 1 raíz raíz 36 19 de marzo 06:03 jre_1.6.0_exports -> /usr/lib64/jvm-exports/jre-1.6.0-ibm
lrwxrwxrwx 1 raíz raíz 36 19 de marzo 06:03 jre_exports -> /usr/lib64/jvm-exports/jre-1.6.0-ibm
lrwxrwxrwx 1 raíz raíz 28 19 de marzo 06:03 jre_ibm -> /usr/lib64/jvm/jre-1.6.0-ibm
lrwxrwxrwx 1 raíz raíz 36 19 de marzo 06:03 jre_ibm_exports -> /usr/lib64/jvm-exports/jre-1.6.0-ibm

Realizar el cambio si ya los tiene instalados y solo necesita cambiar el valor predeterminado.

SLES11 # alternativas de actualización --config java

Sólo hay 1 programa que proporciona Java
(/usr/lib64/jvm/jre-1.6.0-ibm/bin/java). Nada que configurar.


Respuesta original:

Si miras /etc/javao algo así, /etc/java-7-openjdkdeberías ver los archivos de configuración.
java.confojvm.cfg

Por lo general, esto depende (dependiendo) del archivo de configuración y establezca sus opciones. Puede tener varias versiones de Java instaladas al mismo tiempo y cambiar las variables de inicio para determinar cuál es su JVM predeterminada.

de CentOSjava.conf

# Si tiene instalado el paquete JRE base
# (por ejemplo, java-1.6.0-openjdk):
#JAVA_HOME=$JVM_ROOT/jre

# Si tiene instalado el paquete JDK de desarrollo
# (por ejemplo, java-1.6.0-openjdk-devel):
#JAVA_HOME=$JVM_ROOT/java

desde ubuntujvm.cfg

# Lista de JVM que se pueden utilizar como opción para java, javac, etc.
# El orden es importante: el primero en esta lista es la JVM predeterminada.
# TENGA EN CUENTA que tanto este archivo como su formato NO SON COMPATIBLES y
# DESAPARECERÁ en una versión futura.
#
# También puede seleccionar una JVM en una ubicación arbitraria con el
# opción "-XXaltjvm=", pero tampoco es compatible
# y es posible que no esté disponible en una versión futura.
#
-servidor CONOCIDO
-cliente IGNORAR
-ERROR de punto de acceso
-advertencia clásica
-ERROR nativo
-ERROR verde
-jamvm CONOCIDO
-cacao CONOCIDO
-cero CONOCIDO
-tiburón ALIASED_TO -cero

En Ubuntu hay un programa llamado update-java-alternatives
Estas son las primeras líneas de la página de manual

NOMBRE
       update-java-alternatives - alternativas de actualización para instalaciones jre/sdk

SINOPSIS
       actualizar-alternativas-java [--jre] [--plugin] [-t|--test|-v|--verbose]
             -l|--lista []
             -s|--conjunto
             -a|--automático
             -h|-?|--ayuda

DESCRIPCIÓN
       update-java-alternatives actualiza todas las alternativas que pertenecen a un tiempo de ejecución o kit de desarrollo para el lenguaje Java. Un paquete proporciona estos
       información de sus alternativas en /usr/lib/jvm/..jinfo.
root@ubuntul:/# actualización-alternativas-java -l  
java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk
-s|--conjunto
              Configure todas las alternativas de la instalación jre/sdk registrada en la ruta del programa proporcionada por la instalación.

Lo que normalmente también veré son enlaces /etc/profile.dpara entornos de inicio de Java.

Supongo que sus bibliotecas de Java se instalaron en el mismo lugar y los archivos de configuración todavía tienen la versión original de forma predeterminada. Sólo debería necesitar proporcionar la nueva ruta JVM.

información relacionada