sierra para mac instalar high gratis desinstalar desde actualizar java macos terminal

para - Versión Mac OSX Java Terminal incorrecta



java para mac high sierra (4)

Ok, soy un poco nuevo en Macs y OSX, pero elegí uno para poder resolver algunos problemas en mis programas Java con uno ya que la empresa para la que trabajo utiliza una combinación de máquinas OSX y Windows. El problema con el que me estoy topando es que cuando instalo Java 7 desde el sitio web de Oracle, se actualiza el menú de preferencias y parece que se ejecutan correctamente los archivos .jar cuando se hace doble clic en ellos, pero la versión de la ventana del terminal sigue siendo 1.6.0_43 y ejecuta el El mismo archivo .jar del terminal produce errores de tiempo de ejecución debido a la versión anterior.

Cuando navego a / Library / Java / JavaVirtualMachines / me presentan una carpeta vacía. Por lo que he visto en otros artículos, aquí es donde debería estar la carpeta de la versión de Java 1.7.0. ¿Tienes idea de lo que está pasando? ¿Cómo puedo hacer que el terminal use la versión correcta de Java?

Edición: @DWilches comenta sobre su respuesta original: (1)

total 64 lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.4 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.4.2 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.5 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.5.0 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.6 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.6.0 -> CurrentJDK drwxr-xr-x 8 root wheel 272 Mar 17 21:38 A lrwxr-xr-x 1 root wheel 1 Mar 17 21:38 Current -> A lrwxr-xr-x 1 root wheel 59 Mar 17 21:38 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents

(2)

ls -ld /usr/bin/java lrwxr-xr-x 1 root wheel 74 Mar 17 21:38 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

Edit: perdón por el error con una nueva respuesta, acostumbrado demasiado a los sitios que bloquean las ediciones de la publicación original después de tanto tiempo ...


JDK

En Mac OS, /usr/bin/java y amigos son apéndices que delegan en los comandos JDK reales. Estos apéndices respetan la configuración de su variable de entorno JAVA_HOME , pero para que esto funcione, debe instalar el JDK (desde http://www.oracle.com/technetwork/java/javase/downloads/index.html ) en lugar de JRE (de http://java.com ).

El JDK se instala en /Library/Java/JavaVirtualMachines/jdk1.7.0_NN.jdk (para cualquier valor de NN), así que configure su variable de entorno JAVA_HOME en /Library/Java/JavaVirtualMachines/jdk1.7.0_NN.jdk/Contents/Home /usr/bin/java use 1.7. Puede volver a 1.6 simplemente apuntando su JAVA_HOME a /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home en /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home lugar. Puede usar la herramienta /usr/libexec/java_home para encontrar el valor correcto automáticamente, por ejemplo, para hacer que /usr/bin/java use Java 7 que puede hacer

export JAVA_HOME=`/usr/libexec/java_home -v ''1.7*''`

Y para hacerlo usar Java 6 puedes hacerlo.

export JAVA_HOME=`/usr/libexec/java_home -v ''1.6*''`

Lo mismo se aplica a Java 8 (usando -v ''1.8*'' ). Esto recogerá el último JDK instalado para la versión principal relevante, no necesita recordar cambiar la NN a mano cuando instale una actualización.

JRE

Si desea ejecutar el JRE 1.7 o 1.8 desde la línea de comandos, puede encontrarlo en /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java . Esta es una ruta fija y solo puede tener un JRE "público" instalado en un momento dado.

$ /Library/Internet/ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version java version "1.7.0_13" Java(TM) SE Runtime Environment (build 1.7.0_13-b20) Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

Podría usar un alias de shell en su .bashrc

alias java_jre=''/Library/Internet/ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java''


Como dijo Ian, pero probablemente quieras que java7 sea llamado desde el script .sh, así que necesitas una función en lugar de un alias agregado a .bash_profile:

java7() { /Library/Internet/ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java "$@" } export -f java7


El problema es que la instalación de JRE de Oracle no cambia el ejecutable / usr / bin / java. Si desea usar este Java, debe usar la ruta en / Biblioteca (debe encontrar qué es esto, tengo la instalación de JDK, por lo que podría ser diferente)

Según el documento de instalación de JRE de Oracle

La instalación de un JRE desde Oracle no actualizará los enlaces simbólicos de versión java ni agregará java a su ruta. Para poder hacer esto, necesita instalar el JDK.

El JDK de Oracle cambia /usr/bin/java para que apunte al ejecutable de Java 7. Si está haciendo desarrollo, debería usar esto, ya que incluye más que el JRE.

Las preguntas frecuentes de instalación de Oracle dicen

P: ¿Debo instalar el JRE o el JDK?

R: Si planea ejecutar aplicaciones Java, instale Java Runtime Environment (JRE). El JRE también se conoce como Oracle Java. Una vez que haya instalado el JRE, puede iniciar applets y aplicaciones Java haciendo doble clic en los archivos JAR, archivos JNLP y a través del navegador. Tenga en cuenta que los navegadores de 32 bits, como Firefox en modo de 32 bits y Chrome, no son compatibles con el JRE.

Si planea escribir aplicaciones Java, instale el Kit de desarrollo de Java (JDK).


Primero, ¿salió de la consola y la abrió de nuevo para que tenga posibilidades de aceptar los cambios en la variable PATH?

Si ya lo has hecho, verifica cuál es la versión predeterminada de tu Java:

dwilches@ ~$ cd /System/Library/Frameworks/JavaVM.framework/Versions/ dwilches@ Versions$ ls -l lrwxr-xr-x 1 root wheel 59 Mar 19 10:07 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents lrwxr-xr-x 1 root wheel 10 Mar 19 10:07 1.6.0 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Mar 19 10:07 1.6 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Mar 19 10:07 1.5.0 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Mar 19 10:07 1.5 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Mar 19 10:07 1.4.2 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Mar 19 10:07 1.4 -> CurrentJDK lrwxr-xr-x 1 root wheel 1 Mar 19 10:08 Current -> A drwxr-xr-x 8 root wheel 272 Mar 25 10:03 A

Ahora, puedes ver que la versión "Actual" es "A" (ese es mi Java7). Si quisiera cambiarlo a Java 1.6, podría escribir:

dwilches@ Versions$ sudo unlink Current dwilches@ Versions$ sudo ln -s 1.6 Current

Y entonces:

dwilches@ Versions$ java -version java version "1.6.0_43" Java(TM) SE Runtime Environment (build 1.6.0_43-b01-447-11M4203) Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-447, mixed mode)

Por lo tanto, puede usar esto para hacer que el punto "Actual" se dirija a la ubicación Java deseada.