Comment trouver mon Java_HOME actuel dans Ubuntu? Je dois définir le chemin Java_home lors de l'installation de maven.
Tapez le terminal,
echo $Java_HOME
Affiche le chemin de la variable Java_HOME.
SI RIEN NE APPARAÎT ALORS LE MISE EN PLACE AVEC CE
export Java_HOME=/usr/lib/jvm/Java-7-openjdk-AMD64
Cela diffère selon votre type et version de JDK
Pour afficher suivez la première commande.
Suivez this post pour utiliser différents JDK ou basculer entre eux.
Si vous avez JDK 1.6 (correspondant à Java 6) ou une version plus récente, vous devez installer un programme nommé jrunscript
dans votre PATH
. Vous pouvez vous en servir pour trouver le Java_HOME
correspondant. Exemple:
$ jrunscript -e 'Java.lang.System.out.println(Java.lang.System.getProperty("Java.home"));'
/opt/local/jdk1.7.0_76/jre
Vous pouvez définir la variable d'environnement comme ceci:
$ export Java_HOME="$(jrunscript -e 'Java.lang.System.out.println(Java.lang.System.getProperty("Java.home"));')"
Notez que le JRE n'inclut pas jrunscript
. Cela ne fonctionnera donc que si vous installez le JDK, pas seulement le JRE.
Une autre option portable consiste à extraire le chemin absolu du JDK à partir de javac
:
export Java_HOME=`type -p javac|xargs readlink -f|xargs dirname|xargs dirname`
Le chemin absolu javac
est passé deux fois à dirname
afin de supprimer /bin/javac
de la fin. L'extraction complète du répertoire va comme suit:
$ 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/
Pour prendre en compte le mécanisme update-alternatives:
$ update-alternatives --query Java | grep 'Value: ' | grep -o '/.*/jre'
Vous pouvez définir la variable d'environnement comme ceci:
$ export Java_HOME="$(update-alternatives --query Java | grep 'Value: ' | grep -o '/.*/jre')"
Il suffit de lancer une commande
Sudo update-alternatives --config Java
Ça donnera quelque chose comme
Es gibt nur eine Alternative in Link-Gruppe Java (die /usr/bin/Java bereitstellt): /usr/lib/jvm/Java-8-Oracle/jre/bin/Java
À partir de là, vous avez/usr/lib/jvm/Java-8-Oracle/as Java home. Vous pouvez maintenant l'exporter dans la variable Java_HOME
export Java_HOME=/usr/lib/jvm/Java-8-Oracle/
Maintenant echo $ Java_HOME le montre
J'utilise ceci dans Ubuntu LTS (14.04/16.04):
[ -L /etc/alternatives/Java ] &&
export Java_HOME="$(readlink -f /etc/alternatives/Java | sed -e 's/\/jre\/bin\/Java$//')"
Définir les variables d'environnement Java
Le PPA contient également un paquet permettant de définir automatiquement les variables d’environnement Java, il suffit d’exécuter la commande suivante:
Sudo apt install Oracle-Java8-set-default
De cet article: Installez Oracle Java 8/9 dans Ubuntu 16.04, Linux Mint 18
Pour Java 9 et versions ultérieures:
Cette réponse https://askubuntu.com/a/657468/96 utilise le moteur JavaScript Nashorn inclus, Nashorn, pour imprimer la propriété système Java.home
. Nashorn étant obsolète, une alternative consiste à utiliser jshell
introduit dans Java 9.
echo 'System.out.println(Java.lang.System.getProperty("Java.home"));' | jshell -
qui sur mon système Ubuntu 18.10 imprime:
/usr/lib/jvm/Java-11-openjdk-AMD64