Comment trouver mon JAVA_HOME actuel dans Ubuntu? Je dois définir le chemin java_home lors de l'installation de maven.
Comment trouver mon JAVA_HOME actuel dans Ubuntu? Je dois définir le chemin java_home lors de l'installation de maven.
Réponses:
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 ce post pour utiliser différents JDK ou basculer entre JDK
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.
Si vous avez installé JDK 1.6 (correspondant à Java 6) ou une version plus récente, vous devriez avoir un programme nommé jrunscript
dans votre PATH
. Vous pouvez l'utiliser pour trouver le correspondant JAVA_HOME
. 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
, donc cela ne fonctionnera 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 javac
chemin absolu est passé dirname
deux fois pour être retiré /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/
type -p javac|xargs readlink -f|xargs dirname|xargs dirname
(sans la partie exportation) pour connaître le répertoire sans le configurer.
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')"
/jre
. Vous pourriez essayerexport JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | sed -e 's/Value: //;s?/jre/bin/java??;')"
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 cela, 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
Définir les variables d'environnement Java
Le PPA contient également un package 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: Installation d'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/963 utilise le moteur JavaScript Nashorn inclus, Nashorn, pour imprimer la java.home
propriété système. Nashorn étant obsolète, une alternative consiste à utiliser jshell
introduite 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