Como encontrar meu JAVA_HOME atual no ubuntu? Eu tenho que definir o caminho java_home ao instalar o maven.
Como encontrar meu JAVA_HOME atual no ubuntu? Eu tenho que definir o caminho java_home ao instalar o maven.
Respostas:
Digite o terminal,
echo $JAVA_HOME
Exibe o caminho da variável JAVA_HOME.
Se nada aparecer, defina-o com este
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
Isso será diferente de acordo com o seu tipo e versão do JDK
Para exibir, siga o primeiro comando.
Siga esta postagem para usar JDKs diferentes ou alternar entre JDKs
JAVA_HOME doesn't make jdk default, it just makes JAVA_HOME variable set to a path & if you want to use different jdk installed on same machine then check my answer, I have edited it.
Se você possui o JDK 1.6 (correspondente ao Java 6) ou uma versão mais recente instalada, deve ter um programa nomeado jrunscript
no seu PATH
. Você pode usar isso para encontrar o correspondente JAVA_HOME
. Exemplo:
$ jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
/opt/local/jdk1.7.0_76/jre
Você pode definir a variável de ambiente assim:
$ export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"
Observe que o JRE não inclui jrunscript
, portanto, isso funcionará apenas se você instalar o JDK, não apenas o JRE.
Outra opção portátil é extrair o caminho absoluto do JDK de javac
:
export JAVA_HOME=`type -p javac|xargs readlink -f|xargs dirname|xargs dirname`
O javac
caminho absoluto é passado dirname
duas vezes para remover /bin/javac
do final. A extração completa do diretório é a seguinte:
$ type -p javac
/usr/bin/javac
$ readlink -f /usr/bin/javac
/usr/lib/jvm/java-8-oracle/bin/javac
$ dirname /usr/lib/jvm/java-8-oracle/bin/javac
/usr/lib/jvm/java-8-oracle/bin/
$ dirname /usr/lib/jvm/java-8-oracle/bin/
/usr/lib/jvm/java-8-oracle/
type -p javac|xargs readlink -f|xargs dirname|xargs dirname
(sem a parte de exportação) para conhecer o diretório sem configurá-lo.
Para levar em conta o mecanismo de atualização-alternativas:
$ update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre'
Você pode definir a variável de ambiente assim:
$ export JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre')"
/jre
. Você pode tentarexport JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | sed -e 's/Value: //;s?/jre/bin/java??;')"
Basta executar um comando
sudo update-alternatives --config java
Vai dar algo como
Es gibt nur eine Alternative in Link-Gruppe java (die /usr/bin/java bereitstellt): /usr/lib/jvm/java-8-oracle/jre/bin/java
A partir disso, você tem / usr / lib / jvm / java-8-oracle / como home do java. Agora você pode exportá-lo para a variável JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/
Agora faça eco de $ JAVA_HOME mostrá-lo
Definir variáveis de ambiente Java
O PPA também contém um pacote para definir automaticamente as variáveis de ambiente Java, basta executar o comando:
sudo apt install oracle-java8-set-default
Neste artigo: Instale o Oracle Java 8/9 no Ubuntu 16.04, Linux Mint 18
Para Java 9 e posterior:
Esta resposta https://askubuntu.com/a/657468/963 usa o mecanismo JavaScript Nashorn incluído Nashorn para imprimir a java.home
propriedade do sistema. Nashorn está sendo preterido, portanto, uma alternativa é usar o jshell
introduzido no Java 9.
echo 'System.out.println(java.lang.System.getProperty("java.home"));' | jshell -
que no meu sistema Ubuntu 18.10 imprime:
/usr/lib/jvm/java-11-openjdk-amd64