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
MatchingJavaVirtualMachines(2):1.8.0_51, x86_64:"Java SE 8"/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home1.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:
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
#Dothisif 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>]FilterJava versions in the "JVMVersion" form 1.X(+ or *).[-a/--arch <architecture>]FilterJVMs matching architecture (i386, x86_64, etc).[-d/--datamodel <datamodel>]FilterJVMs 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 JavaRuntimeif 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.
-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
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.
Respuestas:
javac -version
en una terminal haráfuente
Puede aprovechar el
java_home
binario auxiliarOS X
para lo que está buscando.Para enumerar todas las versiones de JDK instalado:
Para solicitar la ruta JAVA_HOME de una versión JDK específica, puede hacer:
Puede aprovechar los comandos anteriores en su script de esta manera:
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.
fuente
Escriba un terminal:
Debería mostrarte algo como
fuente
javac
cuña por defecto. No guarda relación con si Java está instalado o no.El siguiente comando funcionó bastante bien:
También verifiqué manualmente navegando a la carpeta Java en mi Mac
fuente
/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:
fuente
Solo escribe
javac
. Si está instalado, obtiene información de uso; de lo contrario, solo le preguntará si desea instalar Java.fuente
Asegúrese de definir correctamente el JDK del proyecto y reinicie IntelliJ (reinicio completo).
fuente
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
ls
comando en la terminal nuevamente. Ahora puede ver la versión y el paquete jdk si existe en su computadora.fuente