web-dev-qa-db-fra.com

Comment trouver mon Java_HOME actuel dans Ubuntu?

Comment trouver mon Java_HOME actuel dans Ubuntu? Je dois définir le chemin Java_home lors de l'installation de maven.

50

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.

75
Deepen

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.

31
rob mayoff

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/
15
rzymek

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')"
7
Francisco

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

5
vimal krishna

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$//')"
1
ggrandes

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

1
user2682025

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