1 votos

¿Por qué tengo 3 versiones diferentes de Java en mi Mac?

Hoy estaba cuidando mi versión de Java y me confundí mucho. He encontrado tres diferentes:

  • Si miro en Webstorm utiliza: 1.6.0_65
  • Si hago java -version me sale 1.7.0_45
  • Si miro en la configuración del sistema me sale: 1.8.0_45

¿Qué puedo hacer para tener sólo una versión de Java en todo el sistema que será la versión que actualizo a través de la configuración de mi sistema: 1.8.0_45?

0 votos

¿Por qué no quieres sólo una? - Algunas aplicaciones sólo pueden usar Java 6 o Java 7 - ¿Cómo instalaste cada una de ellas? apple.stackexchange.com/a/112533/237 para algunos de los temas

1voto

Stuart H Puntos 783

Diferentes aplicaciones se enlazarán con diferentes bibliotecas Java. Las aplicaciones más antiguas probablemente requerirán Java 6 (1.6.0_65), mientras que las más recientes se vincularán a las nuevas versiones de Java.

A modo de ejemplo, sé que la aplicación Mobile Connect de mi antiguo módem 3G de Huawei requiere la instalación de Java 6, Adobe Photoshop CS6 requiere Java 7 (IIRC) y lo más probable es que tus navegadores te pidan que ejecutes la última versión de Java, que es Java 8.

1voto

Garex Puntos 339

En algunos términos esto es un malentendido, pero espero que se aclare pronto:

El JRE/JDK empaquetado por Apple se instala siempre en /System/Library/Frameworks/JavaVM.framework/Versions/Current donde "Current" es un enlace que apunta a la versión actual. Por lo tanto, puede tener varias versiones instaladas y utilizar varias versiones en Xcode u otro IDE.

Oracle y sus instaladores instalan su JDK/JRE en /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home para el plugin del navegador web y el JRE/JDK completo en /Library/Java/JavaVirtualMachines/ .

Y además, los paquetes de software pueden venir con su propio paquete JDK/JRE. Por ejemplo, HP Peregrine Service Center lo hace.

Así que cuando cada aplicación viene con su propio JDK/JRE, hay que decir en alguna configuración cuál usar. En general, para todas las aplicaciones manejadas por el shell hay una variable de entorno que se suele establecer para esto y se llama JAVA_HOME. Programas como tomcat respetan esto.

Fíjate bien en esto:

endor-2:~ garex$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.0_45, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
    1.7.0_71, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

Con el siguiente comando java_home se cambia permanentemente a Java 1.8 de 64 bits:

endor-2:~ garex$ java -fullversion
java full version "1.7.0_71-b14"
endor-2:~ garex$ /usr/libexec/java_home -v 1.8 -d64
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
endor-2:~ garex$ which java
/usr/bin/java
endor-2:~ garex$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

Pero recuerda: puedes hacerlo, pero no esperes que ciertos programas lo sigan. En mi caso instalé JRE y JDK.

Utilizando el comando java_home en su script de llamada puede configurar siempre la versión correcta para su aplicación, por ejemplo.

endor-2:~ garex$ /usr/libexec/java_home -v 1.8 -d64 -exec java -fullversion
java full version "1.8.0_45-b14"
endor-2:~ garex$ /usr/libexec/java_home -v 1.7.0 -d64 -exec java -fullversion
java full version "1.7.0_71-b14"

Para eliminar definitivamente la versión 1.7.x, lea https://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html

0 votos

Con los mismos comandos, pero no puedo cambiar la versión de jdk por defecto MacBook-Pro:~ chen$ java -fullversion java full version "9+181" MacBook-Pro:~ chen$ /usr/libexec/java_home -v 1.8 -d64 /Library/Java/JavaVirtualMachines/jdk1.8.0_144. jdk/Contents/Home MacBook-Pro:~ chen$ which java /usr/bin/java MacBook-Pro:~ chen$ java -version java version "9" Java(TM) SE Runtime Environment (build 9+181) Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode) MacBook-Pro:~ chen$

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X