Instalé Java 7 en Mac OS X pero Terminal todavía usa la versión 6

391

He instalado JDK 7u7 descargado del sitio web de Oracle. Pero después de la instalación, el terminal todavía muestra la versión 6 de Java

$java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

¿Alguna idea de por qué Java 7 no aparece?

Respuesta: OK, el problema ha sido resuelto. Aquí está la respuesta: descubrí que mi Terminal tiene un .bash_profile y la variable de inicio de Java está configurada en 1.6

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"

Entonces esta es la línea que causa el problema cada vez que abro una nueva ventana de terminal. Simplemente elimine esta línea resolverá el problema. Aún debe seguir lo que dijo @aleroot, pero si eso no funciona para usted, consulte el archivo de configuración .bash_profile (o .bashrc) para ver si ha exportado previamente alguna versión de Java.

Yang
fuente
23
Tuve este problema pero solo actualicé el JRE y no el JDK. Una vez que actualicé el JDK, mostró la versión correcta.
Paul Maserrat
¿Migrar esto para preguntar diferente?
Nakilon el
14
Solo para llamar un poco más la atención sobre el comentario de @ Mazzy, es un error fácil de cometer. La descarga de JRE v7 hará que aparezca la versión 7 cuando se ejecute el verificador de versiones en línea, o el panel de control de Java, pero al invocar Java desde la línea de comandos, se ejecutará la versión anterior de su JDK previamente instalado. Por lo tanto, vuelva a verificar para asegurarse de haber instalado el JDK y no solo el JRE.
Cam Jackson
1
La mejor manera de resolver esto es usar el export JAVA_HOMEenfoque, como se detalla aquí de una manera un poco más flexible.
Brad Parks
55
Permítanme enfatizar esto en mayúsculas: MUCHAS PERSONAS QUE LLEGAN A ESTA PÁGINA SOLO NECESITARÁN DESCARGAR E INSTALAR EL ÚLTIMO JDK. EL PANEL DE CONTROL JAVA ACTUALIZA SOLAMENTE EL JRE.
Walter Tross

Respuestas:

64

Debido a que necesita ingresar en el panel de Preferencias de Java y marcar solo la JVM 7 de esta manera:

Java Preferences

Para abrir fácil y rápidamente el panel de Preferencias de Java en Mac OS X, simplemente puede llamar a Spotlight con +SPACE y escribir Preferencias del Sistema , se mostrará en la última fila de la ventana.

aleroot
fuente
3
Sí, lo encontré. pero todavía la versión 1.6 en la terminal, ¿necesito reiniciar o algo así
Yang
1
Este panel ya no existe en 10.8. ¿Alternativas?
Pepijn
68
@Pepijn El panale es historia a partir de Mac OSX 10.8.2 y ya no es realmente necesario. En su lugar, debe usar export JAVA_HOME=`/usr/libexec/java_home -v 1.7`para cambiar al último Java 7 JDK de Oracle.
Uwe Günther
23
Creo que se deshicieron de las Preferencias de Java en algún momento. Spotlight no lo encuentra en mi caja. Correr 10.8.5.
quickshiftin
1
Puede encontrar la ubicación exacta de JAVA_HOME en -> preferencias del sistema -> java. Haga clic en la pestaña "Java". Haga clic en ver. La variable Ruta muestra su JAVA_HOME (mosaico / Inicio).
agaase
298

El instalador de Oracle pone java dentro del /Library/Internet Plug-Ins/JavaAppletPlugin.plugin. Y no se sobrescribe /usr/bin/java. Entonces, si emites un

whereis java

en la terminal, devolverá / usr / bin / java. (que a su vez apunta /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java, que es la versión 1.6 de Apple).

Entonces, si desea usar la nueva versión de Java, reemplace el /usr/bin/javaenlace simbólico para que apunte a /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java:

sudo rm /usr/bin/java
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin
Ákos
fuente
22
Aquí está el comando: sudo ln -s / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Contents / Home / bin / java / usr / bin
Binario
11
El comando de Viktor funciona. Pero también es posible que deba asegurarse de eliminar el enlace simbólico java existenterm /usr/bin/java
Matt Florence
77
Hasta que la gente de Oracle mejore este proceso, aquí hay un CÓMO de todo el proceso de instalación de Java en un sistema osx, hasta e incluyendo este paso final de enlace simbólico: gist.github.com/johan/10590467
ecmanaut
61
tengorm: /usr/bin/java: Operation not permitted
Aditya
37
O bienexport PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
Mick
114

Instale el JDK 7 y este problema se resolverá solo.

Asegúrese de obtener el Kit de desarrollo de Java (JDK) que incluye compiladores y cosas así, en lugar de solo el Java Runtime Environment (JRE).

BrainO2
fuente
77
instale el JDK completo, no solo el JRE.
BrainO2
55
-1 No ayudó. La instalación de JDK no cambia /usr/bin/javani JAVA_HOME. Pero configuración de JAVA_HOMEayudado.
Andrii Nemchenko
3
Confirmado OK en OSX 10.9.4. No cambia el enlace / usr / bin, cambia las cosas debajo de él. Entonces /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java # But: /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java -version java version "1.7.0_67"
Joe Atzberger
1
También funcionó para JDK 1.8 - (instale JDK 1.8 en lugar de JRE 1.8)
Mark Chackerian
Intenté instalar Java 1.8, pero eso no funcionó en El Capitan. Instalar 1.7 resolvió mis problemas.
SPRBRN
104

vi ~/.bash_profile

añadir

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

Esto le indica a su /usr/bin/javadestino de enlace que use el último paquete Java 7 instalado en

/Library/Java/JavaVirtualMachines/

Entonces para JDK 1.7.0_17 JAVA_HOMEsería:

/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home

Nota: Recientemente hubo muchos cambios en esta área para mover Mac OS X de los paquetes Java integrados del sistema propio de Appels a paquetes Java basados ​​en Oracle. La solución anterior funciona bien a partir de Mac OS X 10.8.2

Uwe Günther
fuente
44
+1 para esta respuesta, que es la correcta porque funciona en versiones de Mac OS antes y después de que se eliminaron las 'Preferencias de Java', y al mostrar la opción "-v" muestra cómo puede usar Java 6 incluso si Java 7 está instalado (que es lo que quiero). Por lo tanto, en mi Mac con Lion (10.7.5), uso el mismo comando con "-v 1.6". Esto es crucial porque necesito Java 6 y Oracle no proporciona uno para Mac OS, solo Java 7, y esto me permite usar el JAva 6 instalado aunque Java 7 esté instalado.
Ruibarbo
1
Además, para hacerlo más flexible: mikemainguy.blogspot.com/2014/11/…
Mainguy
Se puede encontrar información adicional aquí para obtener esta increíble respuesta.
Brad Parks
Esto funcionó para mí en Sierra 10.12 después de instalar el 1.8 JKD, la exportación funcionó cambiando 1.7 a 1.8. Gran respuesta usando la utilidad java_home !!
Scott Byers
56

En mi caso, el problema era que Oracle lo estaba instalando en una ubicación diferente a la que estaba acostumbrado.

Descargar desde Oracle: http://java.com/en/download/mac_download.jsp?locale=en

  1. Verifique que esté instalado correctamente mirando en Preferencias del sistema:

    • Comando-Espacio para abrir Spotlight, escriba 'Preferencias del sistema', presione enter.
    • Haga clic en el icono de Java en la fila inferior. Después de que se abra el Panel de control de Java, haga clic en la pestaña 'Java', 'Ver ...', y verifique que su instalación funcionó. También puede ver una 'Ruta', que puede incluir en los siguientes comandos en caso de que sean diferentes a los míos.
  2. Verifique que la versión sea la esperada (suba en su ruta según sea necesario):

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

  3. Cree un enlace desde / usr / bin / java a su nueva instalación

    sudo ln -fs / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Contents / Home / bin / java / usr / bin / java

  4. Sanity verifica tu versión:

    java -version

dale.hamill
fuente
También funcionó para mí, también probé la otra explicación, pero con Maverix no hay un panel en el que pueda seleccionar un número de versión y tampoco cambiar el .bash_profile no funcionó. ¡PERFECTO!
Alex Cio
Eclipse no ve 1.7 en el compilador
Laser Hawk
¡Trabajó para mi!. Antes = 1.6.0_65 y Después de usar esta solución = 1.7.0_60 ... ¡gracias! :)
matemáticas
pero eclipse da un error como "la biblioteca compartida jvm no contiene el símbolo jni_createjavavm" .... :(
matemáticas
1
¡Gracias por la ayuda! Nada más funcionó excepto esto. Ejecutando Yosemite
LordZardeck
33

Me encontré con un problema similar con el terminal que no actualiza la versión de Java para que coincida con la versión instalada en la Mac.

No hubo ningún problema con la variable de entorno JAVA_HOME que se estableció

Se me ocurrió una solución temporal y algo dolorosa pero que funciona.

En tu .bash_profile agrega la línea:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home"

(Esta es la ruta en mi máquina, pero puede ser diferente en la suya, asegúrese de obtener la suya. Las rutas deben coincidir con / Library / Java / JavaVirtualMachines /)

la carrera source ~/.bash_profile

Como mencioné, esta es una solución temporal de curita porque la ruta de inicio de Java está codificada. Realmente no hay forma de establecer el camino para obtener lo último, ya que eso es lo que Apple supuestamente está haciendo para el terminal y el problema es que la variable de entorno java_home de Apple no se está actualizando.

Derek
fuente
44
El directorio está vacío. $ ls / Library / Java / JavaVirtualMachines /
Pepijn
1
Probablemente tenga un problema con el lugar donde instaló Java 7. Vaya al sitio web de Oracle . Haga clic en el enlace "Java SE Development Kit 7u11", acepte el acuerdo de licencia y descargue "jdk-7u11-macosx-x64.dmg". Use el dmg para instalar Java 7 y esto debería ponerlo en su directorio JavaVirtualMachines.
Derek
Esta es una solución en Mojave 10.14.1 a principios de 2019
bits y
27

Desde El Capitán, es difícil eliminar el /usr/bin/javaenlace simbólico, debido a la introducción de la nueva política "sin raíz".

Por lo tanto, simplemente agregué la ruta a la última versión de Java (en mi caso, esto es /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin) PATHen mi .bashrcarchivo:

# Use latest java version
export PATH=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH

Para volver a cargar su .bashrcarchivo para la sesión actual, ejecute source ~/.bashrcen el shell. Solo tiene que hacer esto para las sesiones que se iniciaron antes de cambiar el .bashrcarchivo.

Ahora se usa la última versión, cuando se usa javaen el shell.

TabeaKischka
fuente
1
Esta solución particular funcionó para mí en mi Mac OS X el Capitan. No eludí la configuración de seguridad en el capitan, pero instalé la versión 1.8 de Java. Hacer exportar JAVA_HOME = / mi ruta específica, etc., etc / no funcionó (después de ir a las preferencias y ubicar la ruta a 1.8). Tenga en cuenta que 1.6 todavía está instalado. Tuve que crear un archivo .bashrc y establecer la ruta como se describe aquí. Ejecuté java -version y shazzam! funcionó.
umbregachoong
Quería que esto funcionara ya que estoy en El Capitán y no puedo obtener ninguna otra solución para funcionar. Creé un archivo '.bashrc' y agregué la línea como arriba, pero si escribo 'java -version' todavía obtengo 1.6. ¿Algo que haya pasado por alto?
noLongerRandom
@ user3810073 quizás necesite ejecutar source .bashrc, para recargar el contenido de .bashrc
TabeaKischka
Trabajó para mi. Agregué la línea a .bash_profile (en el directorio de inicio de mi usuario), luego la fuente .bash_profile. Entonces java -version me dio la última. ¡Gracias!
mrmuggles el
Esto también se puede lograr mediante enlaces simbólicos a /usr/local/bindesea: sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/local/bin/java Eso suponiendo que /usr/local/binestá delante /usr/binde tu $PATHque debería ser por defecto.
lifeofguenter 02 de
21

Para mí, la forma más fácil y limpia de hacerlo es instalar Java usando homebrew como se describe aquí:

https://stackoverflow.com/a/28635465

brew update
brew cask install java
Bernhardt Scherer
fuente
¡Solución simple y limpia! Trabajado como un encanto.
Rahul Shukla
2
Esta es la única solución que actualizó java y javac. ¡Gracias!
ldanilek
Funcionó como encanto :) Muchas gracias
Mohamed Saleh
Esto instalará la versión más nueva de Java, no Java7
Ivo
13

El problema básico: /usr/bin/javaapunta a uno provisto por OSX inicialmente ( /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java) Necesitamos señalar esto al descargado por el instalador JDK. Los siguientes pasos son para OSX 10.10.4 Yosemite.

  • Abra Preferencias del sistema -> seleccione Java. Se abre la ventana de Java.
  • Haga clic en la pestaña Java en la parte superior. Haga clic en el botón 'Ver'.
  • La pestaña Configuración de Java Runtime Environment se abre de la siguiente manera: Pestaña Configuración de JRE
  • Haga doble clic en el Pathelemento y copie la ruta (cmd + c). Este es el último instalado por el instalador / actualizador JDK. En mi caso, el camino era/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
  • Terminal abierto En este paso, vamos a señalar (enlace simbólico, ln -scomando) el sistema binario de Java al último, que descubrimos en el paso anterior. Ejecute el siguiente comando:

sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java

Eso es. Para verificar, simplemente puede ejecutar java -version en la terminal. Debería mostrar la última versión que instaló / actualizó.

Aswin Kumar
fuente
2
Funciona para mí, excepto que tuve que agregar -f al comando ln. De lo contrario, si falla con ln: / usr / bin / java: el archivo existe
Dale
en mi caso, usaría en usr/local/binlugar del usr/bincomando de terminal
iAkshay
Estoy obteniendo "operación no permitida".
Shardul
Obtener el camino de esta manera es ideal. Luego pude exportarlo y volver a cargar bashrc para resolver el problema de la versión. En mi caso, estaba migrando de la versión 7 a la 8 en Mojave 10.14.1
bits y
12

Puede ejecutar el siguiente comando en su terminal:

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

Y esto reemplaza el viejo java por uno nuevo.

Amulya Kashyap
fuente
1
Extrañamente, reemplaza, pero si cierro la terminal y abro de nuevo, nuevamente muestra una versión anterior
Parth Patel
es verdad. tan nostálgico solución muy temporal
Un usuario
1
agregue eso al archivo .bashrc source ~/.bashrcpara hacerlo permanente
Azimjon Ilkhomov
10

yo hice

export JAVA_HOME=`/usr/libexec/java_home`

y eso solucionó mi problema de Java 8.

antes de:

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

después:

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)
Climbs_lika_Spyder
fuente
1
El /usr/libexec/java_homees una muy buena indicación, gracias!
Raffi
1
¡Hice el trabajo para mí después de leer toneladas de posibles soluciones! Gracias :)
ronnyrr 01 de
7

http://www.java.com/en/download/faq/java_mac.xml es un buen lugar para entender, mientras Apple deja de admitir Java, por qué las Preferencias Java ya no existen y dependen de System_Preferences => Java = > Java si Java 7 de Oracle está instalado.

revher
fuente
2
Esta es una buena información, pero realmente debería proporcionar más detalles que solo un enlace. Si el enlace se rompe en el futuro, su respuesta realmente no será muy útil.
psubsee2003
7

¿Puedo sugerirle que eche un vistazo a la herramienta Jenv

Esto le permitirá cambiar en cualquier momento entre sus JVM instaladas.

Simplemente como:

jenv global oracle-1.7

luego para fines de prueba:

jenv global oracle-1.6

Y tienes muchos más comandos disponibles.

TitiMoby
fuente
+1 para esta respuesta, ya que puede utilizar Homebrew, si ya lo está utilizando en su sistema OS X. Mucho más limpio que otros, digo. Más información aquí: jenv.be
piku
6

Codificar la ruta JAVA_HOME puede no ser la mejor idea. El /usr/libexec/java_homealféizar de la utilidad funciona para mí en Mac OSX Lion 10.7.5 y JDK 1.7.0_13. Según su página de manual, está destinado a ser utilizado con el antiguo panel de Preferencias Java de Apple, pero parece estar funcionando con el reemplazo proporcionado por Oracle (Panel de control de Java). Por ejemplo corriendo/usr/libexec/java_home -V enumera todos los JDK instalados (tanto 1.6. * 1.7. *) En mi máquina.

Entonces, como se discutió en otros subprocesos (por ejemplo, ¿en qué debo configurar JAVA_HOME en OSX? ), Todavía recomendaría agregar la siguiente línea a su .bash_profile:

export JAVA_HOME=$(/usr/libexec/java_home)
zagyi
fuente
Estoy de acuerdo con su comentario aquí, porque esa es la mejor práctica, pero por alguna razón la variable de entorno java_home no se está configurando correctamente, por lo que esto no funciona. Creo que en la última actualización de Apple, su sugerencia es la acción predeterminada para JAVA_HOME en el terminal y otras aplicaciones relacionadas de forma predeterminada.
Derek
@Derek ¿Qué quiere decir exactamente con "la variable de entorno java_home no se está configurando correctamente"? Según este artículo, la /usr/libexec/java_homeutilidad está destinada a funcionar también con las versiones de Java 7, y devuelve la ruta al JDK más actualizado instalado. Funciona perfectamente en mi máquina.
zagyi
1
Sí, se supone que funciona, sin embargo, no lo hace para las personas con el problema que Pepijin había mencionado.
Derek
6

Esto es una locura! ¿Cómo proporciona Oracle un instalador que no instala nada?

De todos modos para mí fue:

sudo rm /usr/bin/java
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java

donde 1.8.0_31 es su versión de Java instalada ...

Kevin Parker
fuente
¿Por qué Apple no proporciona un método adecuado?
jwilleke
6

En caso de que tenga varias versiones de Java en su máquina y desee elegirlo dinámicamente en tiempo de ejecución, es decir, en mi caso, tengo dos versiones:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

Puede cambiarlos modificando el contenido de / etc / profile. Simplemente agregue (o modifique) las siguientes dos líneas al final del archivo:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

En mi caso, debería ser el siguiente si quiero usar:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Después de guardar el archivo, ejecute source /etc/profile y debería funcionar. Estos son los resultados cuando uso la primera y segunda opción en consecuencia:

Java 7:

java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

El proceso es similar si su carpeta java se encuentra en diferentes ubicaciones.

nxhoaf
fuente
5

Solución simple

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
Mick
fuente
Increíble. Esta solución me alegró el día. Muchas gracias Mick
Un usuario
3

Creo que puedes intentar instalar jdk no jre. Al instalar jdk, se reemplazará el java en / usr / bin / java, y toda la biblioteca funcionará bien.

DDDrop
fuente
3

Si tiene instalado Homebrew, puede instalar java-switcher para cambiar la versión predeterminada de Java más rápidamente

brew tap andycillin/tap
brew install java-switcher

Luego puede usar un solo comando para cambiar su versión predeterminada de Java.

java-switcher 1.7

o

java-switcher 10
Andy Tran
fuente
Gracias Andy, esto fue fácil.
GreenROBO
1

Puede ejecutar este comando para encontrar la versión de Java que se encuentra en / Library / Internet Plugins /:

defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist CFBundleVersion
Hefewe1zen
fuente
1

Está sucediendo porque su .bash_profile no refleja los cambios. Para reflejarlo, simplemente use el siguiente comando

$ source .bash_profile
Raghav Sharma
fuente
0

Como no he enfrentado este problema, estoy teniendo una corazonada:

¿Puedes probar esto?

¿Dónde apunta el enlace suave "java_home" a:

ls -lrt /usr/libexec/java_home

Salida: (Stunted) lrwxr-xr-x java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home

** ls -lrt /System/Library/Frameworks/JavaVM.framework/Versions My MAC produce lo siguiente:

 lrwxr-xr-x CurrentJDK ->
 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents**

 lrwxr-xr-x   Current -> A
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4.2 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4 -> CurrentJDK

En base a esto, ¿podríamos obtener una pista para continuar?

usuario1428716
fuente
lea algunos comentarios en Internet sobre problemas de Java 7 con MAC-OSX y se muestra bloqueado . Consulte esto: grep.dk/tag/xprotect-meta-plist . En XProtect.meta.plist tengo Java 7 y Flash en la lista. Hasta que esté jugando la Policía de Vulnerabilidad
usuario1428716
0

resolví este problema reinstalando Yosemite y luego verifiqué la versión de Java en el terminal (java -version) y (javac -version). Funciona perfectamente ahora. No está cambiando a java 7 ya que la versión 6 todavía está presente en (comando + n ) libray> java> javavirtualmachine> su versión actual de javac. necesita dirigirse a java home.

AJAY
fuente
0

Resolví este problema con sudo rm /usr/bin/java

Y descargué e instalé el último Java SE Runtime Environment: http://www.oracle.com/technetwork/java/javase/downloads/index.html

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/javano funcionó para mí porque lo conseguí Operation not permitted. El Capitan ahora protege ciertos directorios del sistema en modo "sin raíz" (también conocido como Protección de integridad del sistema). Es aplicable a macOS Sierra, y probablemente nuevas versiones de macOS para el futuro previsible.

Charles Hamel
fuente
0

La instalación a través de JDK DMG distribuido desde el sitio de Oracle actualiza automáticamente todo para mí. He visto (en El Capitan) actualizar a través de System Preferences > Javahacer actualizaciones, pero eso no se refleja en la línea de comandos. Instalar a través de DMG hace el trabajo.

Santanu Karar
fuente
0

Verifique las versiones de JDK instaladas:

$ ls  /Library/Java/JavaVirtualMachines/
jdk-11.0.2.jdk  jdk1.8.0_91.jdk

Ahora en su ~/.bashrcexportación JAVA_HOMEespecificando la versión:

if [ -e /usr/libexec/java_home ]; then
  export JAVA_HOME=$(/usr/libexec/java_home -v 11)
fi

Obtenga el archivo bashrc y se actualizará la versión de Java:

$ java -version
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
Miguel Mota
fuente
0

El último método 100% efectivo:


en bash:

vim ~/.bash_profile

añadir

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
  • :wq ahorrar
  • cmd + q fuerza salir bash
  • abre bash nuevamente y escribe java -version

Pero en realidad este camino apunta a jre, no jdk.

Si desea señalar el camino a JDK, necesita

  1. Asegúrese de haber instalado JDK, no un solo tiempo de ejecución JRE
  2. reemplace la ruta anterior a PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk", puede ir a /Library/Java/JavaVirtualMachinespara asegurarse de haber instalado la versión de JDK que esperaba.
liangli
fuente