¿Cómo verifico si Java JDK está instalado en Mac?


125

¿Cómo verifica si Java SDK está instalado en una Mac?

¿Hay una línea de comando para esto?


"ese software no se está ejecutando" ¿Cuál es la salida del error?
Andrew Thompson el

Respuestas:


183

javac -version en una terminal hará


Tengo "javac 1.6.0_37" ¿es equivalente a jdk 6 o 7?
Kiwi enojado

77
Sin embargo, si Java no está instalado, aparecerá un cuadro de diálogo que le indicará que Java debe instalarse, por lo que esta no es una buena opción para los scripts.
un nerd pagado el

70

Puede aprovechar el java_homebinario auxiliar OS Xpara lo que está buscando.

Para enumerar todas las versiones de JDK instalado:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.0_51, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
    1.7.0_79, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

Para solicitar la ruta JAVA_HOME de una versión JDK específica, puede hacer:

$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

$ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home

Puede aprovechar los comandos anteriores en su script de esta manera:

REQUESTED_JAVA_VERSION="1.7"
if POSSIBLE_JAVA_HOME="$(/usr/libexec/java_home -v $REQUESTED_JAVA_VERSION 2>/dev/null)"; then
    # Do this if you want to export JAVA_HOME
    export JAVA_HOME="$POSSIBLE_JAVA_HOME"
    echo "Java SDK is installed"
else
    echo "Did not find any installed JDK for version $REQUESTED_JAVA_VERSION"
fi

Es posible que pueda hacer if-else y verificar también varias versiones diferentes de java.

Si prefiere la salida XML, java_home también tiene una opción -X para generar en XML.

$ /usr/libexec/java_home --help
Usage: java_home [options...]
    Returns the path to a Java home directory from the current user's settings.

Options:
    [-v/--version   <version>]       Filter Java versions in the "JVMVersion" form 1.X(+ or *).
    [-a/--arch      <architecture>]  Filter JVMs matching architecture (i386, x86_64, etc).
    [-d/--datamodel <datamodel>]     Filter JVMs capable of -d32 or -d64
    [-t/--task      <task>]          Use the JVM list for a specific task (Applets, WebStart, BundledApp, JNI, or CommandLine)
    [-F/--failfast]                  Fail when filters return no JVMs, do not continue with default.
    [   --exec      <command> ...]   Execute the $JAVA_HOME/bin/<command> with the remaining arguments.
    [-R/--request]                   Request installation of a Java Runtime if not installed.
    [-X/--xml]                       Print full JVM list and additional data as XML plist.
    [-V/--verbose]                   Print full JVM list with architectures.
    [-h/--help]                      This usage information.

17

Escriba un terminal:

which javac

Debería mostrarte algo como

/usr/bin/javac

12
-1 para la respuesta: la presencia del comando java en la ruta no testifica que el JDK está instalado (sino el JRE)
Luigi R. Viggiano

Estoy de acuerdo. Podría ejecutar "which java" o "which javac", pero recibí un mensaje de error al ejecutar "java --version" porque JDK no está instalado.
fanchyna

1
-1 Esto está completamente mal. Todos los Mac vienen con una javaccuña por defecto. No guarda relación con si Java está instalado o no.
Radon Rosborough

3

El siguiente comando funcionó bastante bien:

javac -version

También verifiqué manualmente navegando a la carpeta Java en mi Mac

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk

2

/usr/bin/java_home La herramienta devuelve 1 si Java no está instalado.

Para que pueda verificar si Java está instalado de la siguiente manera:

/usr/libexec/java_home &> /dev/null && echo "installed" || echo  "not installed"

1

Solo escribe javac. Si está instalado, obtiene información de uso; de lo contrario, solo le preguntará si desea instalar Java.


0

Asegúrese de definir correctamente el JDK del proyecto y reinicie IntelliJ (reinicio completo).


0
  • Terminal abierto
  • ejecutar comando para ver:

    javac -version

  • También puede verificar manualmente yendo a la ubicación específica y luego verificar. Para hacer esto, ejecute el siguiente comando en la terminal de Mac

    cd / Library / Java / JavaVirtualMachines /

Luego ejecute el lscomando en la terminal nuevamente. Ahora puede ver la versión y el paquete jdk si existe en su computadora.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.