Instalación de Java en OS X 10.9 (Mavericks)

321

He instalado el JDK en Mac OS X v10.8 (Mountain Lion). Cuando lo actualicé a Mac OS X v10.9 (Mavericks) y ejecuté java -versionen el terminal, mostró:

No hay tiempo de ejecución Java presente, solicitando la instalación.

Luego instalé manualmente el JDK (1.7) en mi Mac. Parece que la instalación funcionó bien. Cuando se realizó la instalación, abrí la terminal y escribí java -versiontambién. También mostró el mismo error:

No hay tiempo de ejecución Java presente, solicitando la instalación.

¿Como puedó resolver esté problema?

usuario2909913
fuente
1
No sé qué problema hay en la terminal, pero ejecuto eclipse y todos los proyectos se están compilando bien en disidentes
Sunny
1
parece que el antiguo lanzador java solo admite jdk 1.6, pero mavericks no tiene 1.6 instalado por defecto.
Shawn
1
Instalaste Java 6, no Java 7, ya que OP originalmente implicaba que necesitaban. Estoy interesado en cómo se llega a esa solución. También debe haber un tipo de enfoque de 'alternativas' aquí que aborde directamente los comentarios del terminal.
Rondo
44
Esto es genial para Java 6, pero ¿cómo puede hacer que Java 7 funcione?
190290000 Hombre Rublo
2
Se agregó una respuesta potencial para instalar Java 7 JRE y hacer que funcione en la Terminal: stackoverflow.com/a/19582689/346286
análogo

Respuestas:

279

Los nuevos Mavericks (10.9) me mostraron la "Solicitud de instalación", pero no pasó nada.

La solución fue descargar e instalar manualmente el paquete oficial de Java para OS X, que está en Java para OS X 2013-005.

Actualización: como se menciona en los comentarios a continuación, hay una versión más reciente de este mismo paquete:

Java para OS X 2014-001

Java para OS X 2014-001 (Corrección de la fecha límite anterior)

Java para OS X 2014-001 incluye mejoras de instalación y reemplaza todas las versiones anteriores de Java para OS X. Este paquete instala la misma versión de Java 6 incluida en Java para OS X 2013-005.

Chico
fuente
Lo mismo para mi. Otra opción es instalar Java desde Oracle. ¿Cuál creen ustedes que es mejor? Oracle parece tener Java actualizado más rápido que Apple.
Ngoc Pham
2
pero este te da JDK 6. ¿Cómo podemos usar JDK 6 directamente?
Shawn
2
@Shawn Apple desactiva JDK 7. ya instalado. Pero puede obtener algunas preguntas frecuentes e instalar desde aquí: java.com/en/download/faq/java_mac.xml pero no lo probé.
Guy
Si ha instalado java6 y java7, puede seleccionar v6 en su shell con: export JAVA_HOME = / System / Library / Java / JavaVirtualMachines / 1.6.0.jdk / Contents / Home
Jürgen Strobel
1
¿Por qué querrías usar Java de 32 bits en un sistema operativo de 64 bits? 64 bits de Java es en realidad más rápido que 32 bits en Mavericks.
MiB
196

Si solo desea instalar el último JRE oficial de Oracle, puede obtenerlo allí, instalarlo y exportar el nuevo JAVA_HOME en el terminal.

  • Abre tu terminal
  • java -version te da un error y una ventana emergente
  • Obtenga el JRE dmg en http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • Instalarlo
  • En su terminal, escriba: export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"
  • java -version ahora te da java version "1.7.0_45"

Esa es la forma más limpia que encontré para instalar el último JRE.

Puede agregar la export JAVA_HOMElínea en su .bashrcpara tener javapermanentemente en su Terminal:

echo export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\" >> ~/.bashrc
término análogo
fuente
37
Creo que suena un poco sospechoso definir JAVA_HOMEpara señalar lo que claramente es un complemento de navegador en lugar de la máquina virtual real. Al instalar las herramientas de línea de comandos XCode, se obtiene una herramienta para conseguir el camino correcto, /usr/libexec/java_home. Ver developer.apple.com/library/mac/documentation/Darwin/Reference/… .
Ilkka
8
@Ilkka: suena sospechoso, pero ahí es donde se instala JRE de Oracle. Java de Apple (que se detiene en Java 6) no se mezcla con Oracle tan bien como uno quisiera
Orion Edwards
12
Un colega mío (que desafortunadamente no tiene la reputación requerida aquí para agregar comentarios) quiere agregar que la configuración JAVA_HOME debería serexport JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"
Stephan Windmüller el
1
Instalé jdk7u45 de Oracle y todavía uso export JAVA_HOME = $ (/ usr / libexec / java_home) en mi perfil de bash. jdk7u45 funciona muy bien, incluido el panel de preferencias del sistema java. Ahora estoy actualizando a jdk7u51.
MiB
2
Tuve que agregar export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"a ~ / .profile en lugar de ~ / .bashrc o ~ / .bash_profile para obtener este trabajo.
LarS
64

El lugar correcto para descargar el JDK para Java 7 es Java SE Downloads .

Todos los otros enlaces proporcionados anteriormente, por lo que puedo decir, proporcionan las descargas JRE o Java 6 (por cierto, si desea ejecutar Eclipse u otros IDEs, como IntelliJ IDEA , necesitará el JDK, no el JRE ).

Con respecto a IntelliJ IDEA, eso aún le pedirá que instale Java 6, ya que aparentemente necesita un cargador de clases más antiguo o algo así: simplemente siga las instrucciones cuando aparezca el cuadro de diálogo emergente e instalará el JDK 6 en el lugar correcto.

Luego, deberá hacer lo sudo ln -snfmencionado en la respuesta anterior:

sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents \
    /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

(copiado aquí como se mencionó que "arriba" eventualmente puede no tener sentido ya que las respuestas se vuelven a ordenar).

También configuré mi JAVA_HOMEpara señalar dónde jdk_1.7.0_xx.jdkse instaló:

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

Luego agregue eso a su PATH:

export PATH=$JAVA_HOME/bin:$PATH

La alternativa es jugar con el loco laberinto de hipervínculos de Apple, pero, sinceramente, la vida es demasiado corta para molestarse.

Marco Massenzio
fuente
44
Vea mi comentario a otra respuesta sobre cuál es quizás una mejor manera de obtener ese camino.
Ilkka
1
Dado que esta respuesta tiene más votos a favor, el bit que dice sudo ln -snfen la respuesta anterior ya no es preciso. Eso en realidad se refiere a la respuesta del Sr. Ronald
Karthic Raghupathi
@KarthicRaghupathi No estoy seguro de entender completamente el comentario (el uso de thisy thates algo confuso) pero aún necesita un enlace simbólico desde el lugar / Sytem / Library / etc al lugar real donde Oracle instala la JVM (/ Library / etc .) o las aplicaciones no podrán encontrar el tiempo de ejecución de Java.
Marco Massenzio
@Marco Ahora que lo mencionas, cuando leo mi propio comentario, no tiene mucho sentido. :) Permíteme aclarar. En su respuesta, escribe "Después, tendrá que hacer lo sudo ln -snfmencionado en la respuesta anterior". Las respuestas se mueven hacia arriba o hacia abajo según la cantidad de votos que obtienen. Mi intención era proporcionar solo una referencia directa a la respuesta que tenía el sudo ln -snfcomando.
Karthic Raghupathi
Editado, pero no estoy seguro de que el reordenamiento realmente suceda: todos parecen estar donde estaban, independientemente de los votos a favor. NVM
Marco Massenzio
14

Descargué e instalé el JDK 1.7 de Oracle . En la consola / en Terminal Java 7 funciona bien.

Cuando inicio un programa Java (como Eclipse ) a través de la GUI, obtengo:

Para abrir "Eclipse.app" necesita un tiempo de ejecución Java SE 6. ¿Desea instalar uno ahora?

Como no quería instalar la versión anterior de Java, utilicé la siguiente solución:

sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

Créditos a monkehWorks .

Señor ronald
fuente
1
Necesito usar ln -snfporque llegué Operation not permittedconln -sf
Lars Blumberg
Gracias, edité la respuesta y agregué la opción -n al comando ln.
Sr. Ronald
+1 Exactamente lo que estaba buscando. ¡Gracias! La CLI estaba obteniendo la referencia a JDK 7 después de la instalación. Sin embargo, para que las aplicaciones GUI recogieran el JDK correcto, este paso fue necesario.
Karthic Raghupathi
Tenía esperanzas, pero no funcionó para mí. Android Studio 0.3.2 insiste en "descargar Java 6", lo que no voy a hacer. Oracle Java 7 JDK está instalado.
akauppi
Necesita una versión de Eclipse de 64 bits. El de 32 bits requiere Apple Java.
Thorbjørn Ravn Andersen
4

Este error ocurre porque el archivo plist de IntelliJ IDEA requiere Java versión 1.6 *. Para resolver este problema, reemplace el 1.6 * con 1.8 *.

<key>JVMOptions</key>
<dict>
    <key>ClassPath</key>
      ...

    <key>JVMVersion</key>
    <string>1.8*</string>

    <key>MainClass</key>
    <string>com.intellij.idea.Main</string>
    <key>Properties</key>
<dict>
Fabio Fumarola
fuente
Esto lo hizo por mi. Mi problema fue que cuando actualicé a osx 10.9, todavía podía acceder a Java desde la terminal y todo lo demás (incluido el eclipse funcionó bien). Solo Android Studio estaba causando este error.
ucsunil
Esto no funcionó para mí en OS X 10.10.1, se queja de que no hay una versión 1.8 disponible (incluso si el JRE 8 está instalado correctamente).
Emmanuel Bourg
¿Verificaste si JAVA_HOME está configurado?
Fabio Fumarola
3

El OP implicaba que Java 7 era la necesidad. Y, de hecho, Java 6 ya no es 'compatible', por lo que 7 es la versión que debería instalar en este momento a menos que tenga problemas con la aplicación heredada.

Puede obtenerlo aquí: http://java.com/en/download/mac_download.jsp?locale=en

Rondó
fuente
No debemos suponer que la distribución actual de Apple de Java 6 no es compatible.
Graham Perrin el
Puse la palabra 'apoyado' entre comillas para evitar tratar de resolver un problema complicado. Oracle cobra por cualquier soporte de 6 ... y ese cargo de soporte lógicamente se aplicaría también a Apple; entonces, Apple está 'por sí sola' sin un contrato. ¿Tienen uno y planean trabajar a través de los parches para MacOSX? ¿El contrato todavía permite la redistribución? Ahora ha habido 2 actualizaciones de Java 7 de Oracle desde la última actualización de Apple a 6. Históricamente, tienden a bloquear los lanzamientos. Asunción, tal vez; ¿Una suposición segura? Parece tan.
Rondo
3

Mi experiencia para actualizar Java SDK en OS X 10.9 fue mucho más fácil.

He descargado la última Java SE Development Kit 8, desde SE descargas e instalado el archivo .dmg. Y al escribir java -versionen la terminal se mostraba lo siguiente:

versión de Java "1.8.0_11"

Java (TM) SE Runtime Environment (compilación 1.8.0_11-b12)

Máquina virtual de servidor Java HotSpot (TM) de 64 bits (compilación 25.11-b03, modo mixto)

Muhammad Reda
fuente
1

Desde el OP:

Finalmente lo reinstalé de Java para OS X 2013-005. Solucionó este problema.

Eric Leschinski
fuente
1

Este error significa que Java no está instalado correctamente.

1) brew cask install java (No need to install cask separately it comes with brew)

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

PD: ¿Qué es brew-cask? Homebrew-Cask extiende Homebrew y resuelve la molestia de ejecutar un comando adicional: "Para instalar, arrastre este icono ..." después de instalar una aplicación usando Homebrew .

Nota: este problema no es específico de Mavericks, lo obtendrá casi todo el OS X, incluido EL Capitan.

sapy
fuente
0

No es necesario instalar el JDK, que es el kit de desarrollo , solo el JRE, que es el entorno de tiempo de ejecución .

dmz
fuente
66
Es verdad. Sin embargo, lo que Apple proporciona es el JDK y el JRE de Oracle está ahí para el complemento de Internet, el javacomando no está vinculado automáticamente en todo el sistema, por lo que aún ve el "No hay tiempo de ejecución de Java presente, solicitando la instalación". cuando escribes java -versionen la Terminal.
Ngoc Pham