Como verifico se o Java JDK está instalado no Mac?


125

Como você verifica se o Java SDK está instalado em um Mac?

Existe uma linha de comando para isso?


"esse software não está sendo executado" Qual é o erro de saída?
Andrew Thompson

Respostas:


183

javac -version em um terminal vai fazer


Eu recebi "javac 1.6.0_37" é equivalente a jdk 6 ou 7?
kiwi irritado

7
No entanto, se o Java não estiver instalado, aparecerá uma caixa de diálogo informando que o Java precisa ser instalado, portanto, essa não é uma boa opção para scripts.
um nerd pago

70

Você pode aproveitar o java_homebinário auxiliar OS Xpara 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.

17

Digite um terminal:

which javac

Deve mostrar algo como

/usr/bin/javac

12
-1 para a resposta: a presença de comando java no caminho não testemunhar que o JDK está instalado (mas o JRE)
Luigi R. Viggiano

Concordo. Eu poderia executar "qual java" ou "qual javac", mas recebi uma mensagem de erro ao executar "java --version" porque o JDK não está instalado.
fanchyna

1
-1 Isso está completamente errado. Todos os Macs vêm com um javaccalço por padrão. Não tem nenhuma relação com a instalação ou não do Java.
Radon Rosborough

3

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

2

/usr/bin/java_home ferramenta retorna 1 se o java não estiver instalado.

Assim, você pode verificar se o java está instalado da seguinte maneira:

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

1

Apenas digite javac. Se estiver instalado, você obtém informações de uso; caso contrário, ele pergunta se você deseja instalar o Java.


0

Certifique-se de definir corretamente o JDK do projeto e reinicie o IntelliJ (reinicialização completa).


0
  • Terminal aberto.
  • 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 lscomando no terminal novamente. Agora você pode ver a versão e o pacote jdk, se existir no seu computador.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.