web-dev-qa-db-fra.com

Lequel de ces chemins dois-je utiliser comme valeur de Java_HOME?

Je suis sous Ubuntu 16.04. J'ai téléchargé JDK 7.0 à partir du site Web Oracle, décompressé et placé dans un dossier _/opt/JDK/_, de sorte que le répertoire d'installation final soit /opt/JDK/jdk1.7.0_80 Ensuite, j'ai exécuté les commandes suivantes données dans this SO answer :

_update-alternatives --install /usr/bin/Java java /opt/jdk1.8.0/bin/Java 1
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0/bin/javac 1
update-alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /opt/jdk1.8.0/jre/lib/AMD64/libnpjp2.so 1
update-alternatives --set Java /opt/jdk1.8.0/bin/Java
update-alternatives --set javac /opt/jdk1.8.0/bin/javac
update-alternatives --set mozilla-javaplugin.so /opt/jdk1.8.0/jre/lib/AMD64/libnpjp2.so
_

Je souhaite définir la variable d'environnement Java_HOME. Je sais comment le faire avec _/etc/environment_. La confusion est quel chemin utiliser.

Devrais-je utiliser /usr/bin/Java?

Ou devrais-je utiliser /opt/JDK/jdk1.7.0_80?

Ou devrais-je utiliser /opt/JDK/jdk1.7.0_80/bin?

La sortie de _update-alternatives --config Java_ est:

_There is 1 choice for the alternative Java (providing /usr/bin/Java).

  Selection    Path                           Priority   Status
------------------------------------------------------------
  0            /opt/JDK/jdk1.7.0_80/bin/Java   1         auto mode
* 1            /opt/JDK/jdk1.7.0_80/bin/Java   1         manual mode

Press <enter> to keep the current choice[*], or type selection number:
_
3
Shy

Comme vous pouvez voir que deux alternatives sont identiques, vous pouvez donc les utiliser toutes les deux. Vous pouvez simplement utiliser la commande suivante pour définir Java_HOME:

Java_HOME=$(readlink -f /usr/bin/Java | sed "s:bin/Java::")

La commande update-alternatives --config Java est utilisée lorsque différents Java sont installés sur votre ordinateur. Par exemple le mien est comme suit:

There are 2 choices for the alternative Java (providing /usr/bin/Java).

* 0            /usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java   1081      auto mode
  1            /usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java   1081      manual mode
  2            /usr/lib/jvm/Java-8-Oracle/jre/bin/Java          1081      manual mode
2
Mahdi