Cómo configurar la versión predeterminada de Java


8

He estado usando Java 6 en Ubuntu 11.10, pero ahora quiero actualizar a la versión 7. He instalado la versión 7 a través de PPA como se describe aquí . Si corro

sudo update-alternatives --config java

Me sale el siguiente resultado:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        auto mode
  1            /usr/lib/jvm/java-6-sun/jre/bin/java      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        manual mode

Del mismo modo, si corro:

sudo update-alternatives --config javac

Me sale la salida:

  Selection    Path                                  Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/bin/javac   64        auto mode
  1            /usr/lib/jvm/java-6-sun/bin/javac      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/bin/javac   64        manual mode

Parece que la versión 7 ya es la predeterminada. Pero si corro tampoco

java -version

o

javac -version

El resultado indica que la versión 6 sigue siendo la predeterminada. ¿Cómo puedo configurar el predeterminado a la versión 7?


Echa un vistazo a Java
Mitch

@Mitch gracias, pero solo dice que use update-alternatives, lo que ya he probado
Dónal

hiciste sudo apt-get install oracle-java7-set-defaulty reiniciar ?
Eliran Malka

1
FYI, 11.10 es el fin de la vida.
Thomas Ward

Respuestas:


4

Según esta respuesta: ¿Cómo configurar la versión predeterminada de Java?

Intente proporcionar la ruta explícita junto con update-alternatives --installprimero y luego ejecute update-alternativespara hacer su selección:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-7-oracle/jre/bin/java" 1

sudo update-alternatives --config java

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

sudo update-alternatives --config javac


1

Yo tuve el mismo problema. Tenía instalado Sun JDK6. Después

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws

Un reinicio fue necesario para mí. De lo que funcionó.

Editar: me di cuenta de que no era suficiente hacer los pasos anteriores.

También tuve que editar la variable de entorno:

    sudo nano /etc/environment

Y agregue (una versión diferente de Java requerirá una cadena diferente):

    JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"

0

inserte el número que identifica la ruta que desea y presione Intro. en este caso inserte 1.

finalmente, intenta probar la versión java -version


Quiero la versión 7, no 6. El resultado de update-alternativesindicar que ya estoy usando la versión 7, pero java -versionmuestra que todavía estoy usando la versión 6.
Dónal

0

Supongo que su binario java apunta a otro lugar que no sea /etc/alternatives/java.

Verifique la salida de: type java

¿Lo dice /usr/bin/java? Si es así, verifique si eso apunta correctamente a alternativas:

ls -l /usr/bin/javadebería mostrarlo apuntando a /etc/alternatives/java.

Por último confirman que /etc/alternatives/javasí está señalando a java-7:
ls -l /etc/alternatives/java.

El comando actualizar-alternativas solo ajusta el último y asume que los puntos predeterminados a los /usr/bin/javaque a su vez está correctamente vinculado /etc/alternatives/java.


0

Probé casi todos los métodos enumerados anteriormente, pero aún así encontré java -version imprimir la versión incorrecta mientras ls -al /etc/alternatives/javaapuntaba a la correcta.

Entonces ejecuté: which java y descubrí que el resultado muestra que estaba usando Java /usr/local/jdk_xxx/bin/java, luego eliminé esta carpeta y reinicié el terminal. Ahora el Java funciona bien.

Espero que ayude a otros.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.