sierra para mac jre jdk high gratis for java macos java-8

java - para - jdk 32 bits



Después de actualizar a Java8, javac aún muestra 1.7 (6)

En primer lugar, debe descargar e instalar jdk8 ( http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html )

En segundo lugar, verifique algo de la siguiente manera: ¿su sistema ya tiene un uso de java 8 no vinculado para shell? Pruebe esto en su terminal (sí, los apóstrofos son importantes):

$ ''/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java'' -version

si muestra "versión de Java" 1.8.0_131 "", y luego puede ir al siguiente paso.

mi captura de pantalla

En tercer lugar, edite el bash_profile:

$ vi ~/.bash_profile

y escribe esto:

JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home" PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib export JAVA_HOME export CLASSPATH

guárdalo y sal, entonces

source ~/.bash_profile

Después de los pasos anteriores, y compruebe la versión de Java

$ java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

Tengo problemas para actualizar desde JDK 1.7 -> 1.8 en OSX. La actualización se completó, pero javac aún devuelve 1.7 como versión.

Descargué JDK 8_u5 de la página de inicio de Oracle y ejecuto el instalador.

También tomé los siguientes pasos después de la instalación:

> export JAVA_HOME=`/usr/libexec/java_home -v 1.8` (Executed in my .bashrc file) > echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home > javac -version javac 1.7.0_21 > $JAVA_HOME/bin/javac -version javac 1.7.0_21 > $JAVA_HOME/bin/java -version java version "1.8.0_05" Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

He revisado y eliminado Java 1.7 (y todas las demás versiones de JDK) y luego volví a ejecutar el instalador:

> ls /Library/Java/JavaVirtualMachines jdk1.8.0_05.jdk

Todavía no tiene uso, javac informa la versión como 1.7.0_21

> which javac /usr/bin/javac > ls -ltra /usr/bin/javac [snipped] /usr/bin/javac -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac

Dentro de esa ruta, Current es un enlace simbólico a A El contenido de A/Commands es una serie de archivos (no enlaces simbólicos).

> cd A/Commands > ./javac -version javac 1.7.0_21 > ./java -version java version "1.8.0_05" Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

Editar

Además de la publicación original, he hecho algunas excavaciones con jenv , como se sugiere en esta respuesta .

> jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home > jenv global oracle64-1.8.0.05 > jenv version oracle64-1.8.0.05 (set by /Users/martypitt/.jenv/version) > jenv info java Jenv will exec : /Users/martypitt/.jenv/versions/oracle64-1.8.0.05/bin/java > jenv info javac Jenv will exec : /Users/martypitt/.jenv/versions/oracle64-1.8.0.05/bin/javac > javac -version javac 1.7.0_21

Esto arroja una dispersión en mis pensamientos de que este era un javac al azar que acechaba en mi camino, que de alguna manera era invocado.

Para estar seguro, he destruido completamente mi Java e intenté de nuevo:

> cd /Library/Java/JavaVirtualMachines > ls jdk1.7.0_55.jdk jdk1.8.0_05.jdk > sudo rm -rf * > ls <<empty>> > java -version java version "1.6.0_65" > javac -version javac 1.6.0_65 > which javac /usr/bin/javac

Luego volví a descargar una copia nueva del instalador y la ejecuté.

> java -version java version "1.8.0_05" > javac -version javac 1.7.0_21

Actualizar

Traté de eliminar todas las JDK, XCode y todas las herramientas de desarrollo, y reinstalé nuevas. Mismos resultados

Sin embargo, todavía estoy perdido, ¿a dónde voy desde aquí? ¿Cómo consigo que javac 1.8 se instale?


Esto es (lo más probable) un error en el proceso de instalación de jre8 .

Obtengo exactamente el mismo comportamiento cuando navego a mi carpeta jre8 , que es la que Windows (en mi caso) muestra de forma predeterminada:

  • versión de Java: 1.8.0, entorno de ejecución 1.8.0-b132, punto de acceso 64-bit JVM 25.0-b70
  • Versión javac: 1.7.0_25

Cuando navega hacia el directorio jdk8 , muestra lo siguiente:

  • versión de Java: 1.8.0, entorno de ejecución 1.8.0-b132, punto de acceso 64-bit JVM 25.0-b70
  • versión javac: 1.8.0

Sin embargo, me acabo de dar cuenta de que el jre nunca envía un javac , entonces supongo que esto es un problema en la configuración de referencia en el sistema operativo.

Para solucionarlo, necesitaría corregir manualmente la referencia javac en su sistema operativo.


Para usuarios de Windows:

Es posible, que tenga que cambiar su variable PATH. Intente configurar su "% JAVA_HOME% / bin" como la primera entrada en la RUTA.

Entonces ahora se ve así:

PATH C:/Program Files/anyprogram;C:/Program Files/...;%JAVA_HOME%/bin

Y lo cambias así:

PATH %JAVA_HOME%/bin;C:/Program Files/anyprogram;C:/Program Files/...

Motivo: cualquier otro programa inicia primero otra versión de Java.


Quizás puedas eliminar el archivo .jar estándar que está en tu classpath. Cuando elimino el jar en /Library/Java/Extensions , el problema será resuelto. Más información: error de compilación de Java: Mac


Si /usr/libexec/java_home -v 1.8.0_05 --exec javac -version devuelve la versión correcta, entonces su problema es con:

/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

Con un usuario privilegiado ejecute:

cd /System/Library/Frameworks/JavaVM.framework/Versions/ rm CurrentJDK ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/ CurrentJDK

Solución encontrada en el blog de Mankeh

También verifique esta respuesta en Super User para cambiar dinámicamente las versiones JDK.

Actualización: ¡Creo que encontré al culpable!

Prueba esto:

rm -rf ~/Library/Java/Extensions sudo rm -rf /Library/Java/Extensions

Solución encontrada en: Java 1.7 en OSX 10.9.2 corriendo como 1.5?


Solo agregando mi propia experiencia aquí, instalé jdk-8u131-macosx-x64 de Oracle. Todo funcionó a la perfección. No hay variables de entorno JAVA_HOME presentes o necesarias.

mehboob$ javac -version javac 1.8.0_131 mehboob$ java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

El / Sistema / Biblioteca mostró esto:

mehboob$ ls -l /System/Library/Frameworks/JavaVM.framework/Versions/ total 64 lrwxr-xr-x 1 root wheel 10 Oct 17 2013 1.4 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Oct 17 2013 1.4.2 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Oct 17 2013 1.5 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Oct 17 2013 1.5.0 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Oct 17 2013 1.6 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Oct 17 2013 1.6.0 -> CurrentJDK drwxr-xr-x 8 root wheel 272 Sep 9 2014 A lrwxr-xr-x 1 root wheel 1 Oct 17 2013 Current -> A lrwxr-xr-x 1 root wheel 59 Oct 17 2013 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents

Mientras que / Library / Java tenía esto:

mehboob$ ls -l /Library/Java/ total 8 drwxrwxr-x 2 root admin 68 Oct 17 2013 Extensions lrwxr-xr-x 1 root wheel 48 Oct 17 2013 Home -> /System/Library/Frameworks/JavaVM.framework/Home drwxr-xr-x 3 root wheel 102 Jun 9 11:43 JavaVirtualMachines

No había nada en Extensiones, mientras que JavaVirtualMachines solo tenía la carpeta jdk1.8.0_131.jdk.

Esto muestra que una instalación predeterminada de JDK funciona correctamente sin necesidad de configuración adicional.