Come trovare il mio attuale JAVA_HOME su Ubuntu? Devo impostare il percorso java_home durante l'installazione di Maven.
Come trovare il mio attuale JAVA_HOME su Ubuntu? Devo impostare il percorso java_home durante l'installazione di Maven.
Risposte:
Digitare il terminale,
echo $JAVA_HOME
Visualizza il percorso della variabile JAVA_HOME.
SE NULLA APPARE, IMPOSTARE CON QUESTO
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
Ciò differirà in base al tipo e alla versione di JDK
Per la visualizzazione seguire il primo comando.
Segui questo post per utilizzare diversi JDK o passare da un JDK all'altro
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 hai JDK 1.6 (corrispondente a Java 6) o una versione più recente installata, dovresti avere un programma chiamato jrunscript
nel tuo PATH
. Puoi usarlo per trovare il corrispondente JAVA_HOME
. Esempio:
$ jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
/opt/local/jdk1.7.0_76/jre
È possibile impostare la variabile di ambiente in questo modo:
$ export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"
Nota che JRE non include jrunscript
, quindi funzionerà solo se installi JDK, non solo JRE.
Un'altra opzione portatile è quella di estrarre il percorso assoluto del JDK da javac
:
export JAVA_HOME=`type -p javac|xargs readlink -f|xargs dirname|xargs dirname`
Il javac
percorso assoluto viene passato a dirname
due volte per rimuoverlo /bin/javac
dalla fine. L'estrazione completa della directory procede come segue:
$ 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
(senza la parte di esportazione) per conoscere la directory senza impostarla.
Per tenere conto del meccanismo di aggiornamento-alternative:
$ update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre'
È possibile impostare la variabile di ambiente in questo modo:
$ export JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre')"
/jre
. Potresti provareexport JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | sed -e 's/Value: //;s?/jre/bin/java??;')"
Basta eseguire un comando
sudo update-alternatives --config java
Darà qualcosa di simile
Es gibt nur eine Alternative in Link-Gruppe java (die /usr/bin/java bereitstellt): /usr/lib/jvm/java-8-oracle/jre/bin/java
Da questo hai / usr / lib / jvm / java-8-oracle / come java home. Ora puoi esportarlo nella variabile JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/
Ora echo $ JAVA_HOME mostralo
Imposta le variabili di ambiente Java
Il PPA contiene anche un pacchetto per impostare automaticamente le variabili di ambiente Java, basta eseguire il comando:
sudo apt install oracle-java8-set-default
Da questo articolo: Installa Oracle Java 8/9 in Ubuntu 16.04, Linux Mint 18
Per Java 9 e versioni successive:
Questa risposta https://askubuntu.com/a/657468/963 utilizza il motore Nashorn JavaScript allegato Nashorn per stampare la java.home
proprietà di sistema. Nashorn è deprecato, quindi un'alternativa è usare l' jshell
introduzione in Java 9.
echo 'System.out.println(java.lang.System.getProperty("java.home"));' | jshell -
che sul mio sistema Ubuntu 18.10 stampa:
/usr/lib/jvm/java-11-openjdk-amd64