macos - mac - jdk linux
¿Cómo puedo verificar si Java JDK está instalado en Mac? (6)
¿Cómo verifica si Java SDK está instalado en una Mac?
¿Hay una línea de comando para esto?
Asegúrese de definir correctamente el JDK del proyecto y reiniciar IntelliJ (reinicio completo).
Escriba una terminal:
which javac
Debería mostrarle algo así como
/usr/bin/javac
Puede aprovechar el java_home
auxiliar java_home
en OS X
para 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 también buscar múltiples 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.
Simplemente escriba javac
. Si está instalado, obtienes información de uso; de lo contrario, solo te preguntaría si deseas instalar Java.
/usr/bin/java_home
herramienta /usr/bin/java_home
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"
javac -version
en un terminal hará