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.
export JAVA_HOME
enfoque, como se detalla aquí de una manera un poco más flexible.Respuestas:
Debido a que necesita ingresar en el panel de Preferencias de Java y marcar solo la JVM 7 de esta manera:
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.
fuente
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
para cambiar al último Java 7 JDK de Oracle.El instalador de Oracle pone java dentro del
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin
. Y no se sobrescribe/usr/bin/java
. Entonces, si emites unen 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/java
enlace simbólico para que apunte a/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
:fuente
rm /usr/bin/java
rm: /usr/bin/java: Operation not permitted
export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
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).
fuente
/usr/bin/java
niJAVA_HOME
. Pero configuración deJAVA_HOME
ayudado./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"
vi ~/.bash_profile
añadir
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
Esto le indica a su
/usr/bin/java
destino de enlace que use el último paquete Java 7 instalado en/Library/Java/JavaVirtualMachines/
Entonces para JDK
1.7.0_17
JAVA_HOME
serí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
fuente
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
Verifique que esté instalado correctamente mirando en Preferencias del sistema:
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
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
Sanity verifica tu versión:
java -version
fuente
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:
(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.
fuente
Desde El Capitán, es difícil eliminar el
/usr/bin/java
enlace 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
)PATH
en mi.bashrc
archivo:Para volver a cargar su
.bashrc
archivo para la sesión actual, ejecutesource ~/.bashrc
en el shell. Solo tiene que hacer esto para las sesiones que se iniciaron antes de cambiar el.bashrc
archivo.Ahora se usa la última versión, cuando se usa
java
en el shell.fuente
source .bashrc
, para recargar el contenido de .bashrc/usr/local/bin
desea:sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/local/bin/java
Eso suponiendo que/usr/local/bin
está delante/usr/bin
de tu$PATH
que debería ser por defecto.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
fuente
El problema básico:
/usr/bin/java
apunta 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.Path
elemento 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
ln -s
comando) 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ó.fuente
usr/local/bin
lugar delusr/bin
comando de terminalPuede ejecutar el siguiente comando en su terminal:
Y esto reemplaza el viejo java por uno nuevo.
fuente
source ~/.bashrc
para hacerlo permanenteyo hice
y eso solucionó mi problema de Java 8.
antes de:
después:
fuente
/usr/libexec/java_home
es una muy buena indicación, gracias!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.
fuente
¿Puedo sugerirle que eche un vistazo a la herramienta Jenv
Esto le permitirá cambiar en cualquier momento entre sus JVM instaladas.
Simplemente como:
luego para fines de prueba:
Y tienes muchos más comandos disponibles.
fuente
Codificar la ruta JAVA_HOME puede no ser la mejor idea. El
/usr/libexec/java_home
alfé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:
fuente
/usr/libexec/java_home
utilidad 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.Esto es una locura! ¿Cómo proporciona Oracle un instalador que no instala nada?
De todos modos para mí fue:
donde 1.8.0_31 es su versión de Java instalada ...
fuente
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:
Puede cambiarlos modificando el contenido de / etc / profile. Simplemente agregue (o modifique) las siguientes dos líneas al final del archivo:
En mi caso, debería ser el siguiente si quiero usar:
Java 7:
Java 8:
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 8:
El proceso es similar si su carpeta java se encuentra en diferentes ubicaciones.
fuente
Solución simple
fuente
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.
fuente
Si tiene instalado Homebrew, puede instalar java-switcher para cambiar la versión predeterminada de Java más rápidamente
Luego puede usar un solo comando para cambiar su versión predeterminada de Java.
o
fuente
Puede ejecutar este comando para encontrar la versión de Java que se encuentra en / Library / Internet Plugins /:
fuente
Está sucediendo porque su .bash_profile no refleja los cambios. Para reflejarlo, simplemente use el siguiente comando
fuente
Como no he enfrentado este problema, estoy teniendo una corazonada:
¿Puedes probar esto?
¿Dónde apunta el enlace suave "java_home" a:
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:
En base a esto, ¿podríamos obtener una pista para continuar?
fuente
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.
fuente
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/java
no 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.fuente
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 > Java
hacer actualizaciones, pero eso no se refleja en la línea de comandos. Instalar a través de DMG hace el trabajo.fuente
Verifique las versiones de JDK instaladas:
Ahora en su
~/.bashrc
exportaciónJAVA_HOME
especificando la versión:Obtenga el archivo bashrc y se actualizará la versión de Java:
fuente
El último método 100% efectivo:
en bash:
añadir
:wq
ahorrarjava -version
Pero en realidad este camino apunta a jre, no jdk.
Si desea señalar el camino a JDK, necesita
PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk"
, puede ir a/Library/Java/JavaVirtualMachines
para asegurarse de haber instalado la versión de JDK que esperaba.fuente