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
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 o caminho JAVA_HOME de uma versão específica do JDK, você pode:
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
#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
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>]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 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
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.
Respostas:
javac -version
em um terminal vai fazerfonte
Você pode aproveitar o
java_home
binário auxiliarOS X
para o que está procurando.Para listar todas as versões do JDK instalado:
Para solicitar o caminho JAVA_HOME de uma versão específica do JDK, você pode:
Você pode tirar proveito dos comandos acima em seu script como este:
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.
fonte
Digite um terminal:
Deve mostrar algo como
fonte
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:
Também verifiquei manualmente navegando para a Pasta Java no meu Mac
fonte
/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:
fonte
Apenas digite
javac
. Se estiver instalado, você obtém informações de uso; caso contrário, ele pergunta se você deseja instalar o Java.fonte
Certifique-se de definir corretamente o JDK do projeto e reinicie o IntelliJ (reinicialização completa).
fonte
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.fonte