Como você verifica se o Java SDK está instalado em um Mac?
Existe uma linha de comando para isso?
Como você verifica se o Java SDK está instalado em um Mac?
Existe uma linha de comando para isso?
Respostas:
javac -version
em um terminal vai fazer
Você pode aproveitar o java_home
binário auxiliar OS X
para o que está procurando.
Para listar todas as versões do 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 o caminho JAVA_HOME de uma versão específica do JDK, você pode:
$ /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
Você pode tirar proveito dos comandos acima em seu script como este:
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
Você pode fazer if-else e verificar também várias versões diferentes do java.
Se você preferir saída XML, java_home também possui uma opção -X para saída em 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.
Digite um terminal:
which javac
Deve mostrar algo como
/usr/bin/javac
javac
calço por padrão. Não tem nenhuma relação com a instalação ou não do Java.
O comando abaixo funcionou muito bem:
javac -version
Também verifiquei manualmente navegando para a Pasta Java no meu Mac
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk
Apenas digite javac
. Se estiver instalado, você obtém informações de uso; caso contrário, ele pergunta se você deseja instalar o Java.
Certifique-se de definir corretamente o JDK do projeto e reinicie o IntelliJ (reinicialização completa).
execute o comando para ver:
javac -version
Além disso, você pode verificar manualmente indo para o local específico e depois verificando. Para fazer isso, execute o comando abaixo no terminal mac
cd / Biblioteca / Java / JavaVirtualMachines /
Em seguida, execute o ls
comando no terminal novamente. Agora você pode ver a versão e o pacote jdk, se existir no seu computador.