Como encontrar JAVA_HOME

Como encontrar JAVA_HOME

1. Introdução

Nesta postagem rápida, aprenderemos como encontrarJAVA_HOME on Windows, Mac e Linux.

Como todos sabemos,JAVA_HOME é uma variável de ambiente que normalmente usamos para localizar executáveis ​​java comojavaejavac.

2. Maneiras específicas do Windows para encontrarJAVA_HOME

Se estivermos usando o Windows como sistema operacional, primeiro precisamos abrir nossa linha de comando (cmd) e digitar:

echo %JAVA_HOME%

If JAVA_HOME is defined in our environment, então o comando acima irá imprimi-lo.

Ou, poderíamos tentar:

where java

Que irá mostrar a localização dojava executable.

3. Maneiras específicas do macOS e do Linux para encontrarJAVA_HOME

Se estivermos usando macOS ou Linux, podemos abrir nosso terminal e digitar:

echo $JAVA_HOME

If JAVA_HOME is defined in our environment, então o comando acima irá imprimi-lo.

Ou, poderíamos tentar:

which java

O que provavelmente só nos mostra/usr/bin/java.

Mas, realmente, isso não é muito útil, pois é um link simbólico. Para desvendar isso, usaremosdirnameereadlink;

para Linux:

dirname $(dirname $(readlink -f $(which javac)))

e para macOS:

$(dirname $(readlink $(which javac)))/java_home

Como resultado, este comando imprime a pasta java usada atualmente.

4. Usando Java para encontrarJAVA_HOME

E, se formos capazes de executarjava nós mesmos, entãowe have a nearly platform-independent way, too:

java -XshowSettings:properties -version

Executar este comando gera várias propriedades, uma delas sendojava.home.

Para analisá-lo, porém, ainda precisaremos de uma ferramenta específica da plataforma.

Para Linux e macOSlet usegrep:

java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'

E para Windows, vamos usarfindstr:

java -XshowSettings:properties -version 2>&1 | findstr "java.home"

5. Conclusão

Com esta postagem rápida, aprendemos como find JAVA_HOME on different operating systems.

Se não funcionaram, talvezwe didn’t set JAVA_HOME variable properly durante a instalação do Java.