Comment définir le Java D'Oracle comme Java par défaut dans Ubuntu?

Comment changer la valeur de JAVA_HOME dans Ubuntu pour pointer vers le Java D'Oracle?

doit-il indiquer java-6-sun ou java-6-sun-1.6.0.24 ?

127
demandé sur Umberto Raimondi 2011-06-25 15:24:18

8 réponses

j'ai mis la ligne:

export JAVA_HOME=/usr/lib/jvm/java-7-oracle

dans mon dossier ~/.bashrc .

/usr/lib/jvm/java7-oracle devrait être un lien symbolique pointant vers /usr/lib/jvm/java-7-oracle-[version number here] .

la raison pour laquelle il s'agit d'un lien symbolique est que s'il y a une nouvelle version de la JVM, vous n'avez pas besoin de mettre à jour votre fichier .bashrc , il devrait automatiquement pointer vers la nouvelle version.

si vous voulez définir les variables D'environnement JAVA_HOME globalement et à niveau du système signifie que l'utilisation doit être définie dans le fichier /etc/environment . Pour Plus De .

169
répondu srkiNZ84 2016-05-03 08:43:38

Si vous voulez le changement à l'échelle mondiale et au niveau du système;

Dans

/etc/environment

ajouter cette ligne:

JAVA_HOME=/usr/lib/jvm/java-7-oracle
164
répondu metdos 2014-02-06 13:00:02

pour définir le kit de développement Java SE D'Oracle comme Java par défaut du système il suffit de télécharger le dernier kit de développement Java SE de ici puis de créer un répertoire quelque part que vous aimez dans votre système de fichiers par exemple /usr/java maintenant extraire les fichiers que vous venez de télécharger dans ce répertoire:

$ sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/java

maintenant pour définir votre JAVA_HOME variable d'environnement:

$ JAVA_HOME=/usr/java/jdk1.8.0_05/
$ sudo update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000
$ sudo update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000

assurez-vous que le java de L'Oracle est défini comme java par défaut:

$ update-alternatives --config java

, vous obtenez quelque chose comme ceci:

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

  Selection    Path                                           Priority   Status
------------------------------------------------------------
* 0            /opt/java/jdk1.8.0_05/bin/java                  20000     auto mode
  1            /opt/java/jdk1.8.0_05/bin/java                  20000     manual mode
  2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      manual mode

Press enter to keep the current choice[*], or type selection number:

attention à l'astérisque avant le numéro à gauche et si le bon n'est pas de choisir le bon en tapant le numéro de et en appuyant sur entrée. maintenant, testez votre java:

$ java -version

si vous obtenez quelque chose comme ce qui suit, vous êtes bon à aller:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)

notez aussi que vous pourriez avoir besoin de root l'autorisation ou être dans sudoers groupe pour être en mesure de le faire. J'ai testé cette solution sur ubuntu 12.04 et Debian wheezy et cela fonctionne dans les deux cas.

50
répondu Barracuda 2014-05-14 05:08:47

si vous voulez que cette variable d'environnement soit disponible pour tous les utilisateurs et que le système démarre, vous pouvez ajouter ce qui suit à /etc/profile.d/java.sh (créer si nécessaire):

export JDK_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME=/usr/lib/jvm/java-7-oracle

puis dans un terminal exécuter:

sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh

ma deuxième question est-elle-doit-elle pointer vers java-6-sun ou java-6-sun-1.6.0.24 ?

il devrait toujours pointez sur java-7-oracle comme ce lien symbolique vers le dernier installé (en supposant que vous avez installé Java à partir des dépôts Ubuntu et maintenant à partir du téléchargement disponible à oracle.com).

19
répondu Jits 2013-01-13 10:14:38

java 6

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64

ou java 7

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64

12
répondu Roman Rhrn Nesterov 2014-02-25 12:50:51

si vous faites n'importe quelle sorte de développement vous devez pointer vers le JDK (Java Development Kit). Sinon, vous pouvez pointer vers L'environnement JRE (Java Runtime Environment).

le JDK contient tout ce que le JRE A et plus. Si vous n'exécutez que des programmes Java, vous pouvez pointer vers le JRE ou le JDK.

vous devez définir JAVA_HOME basé sur le Java courant que vous utilisez. readlink affichera la valeur d'un lien symbolique pour Java et sed l'ajustera au répertoire JRE:

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

si vous voulez configurer JAVA_HOME à JDK, vous devriez monter un dossier de plus:

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
9
répondu user987339 2014-03-16 11:18:08

si vous voulez utiliser une version spécifique de Java lorsque plusieurs JDKs sont installés, le simple fait de configurer JAVA_HOME peut ne pas fonctionner.

vous devez utiliser sudo update-alternatives --config java pour définir Java par défaut.

se référer à https://askubuntu.com/questions/121654/how-to-set-default-java-version .

7
répondu prosseek 2017-04-13 12:22:45

voir this ; run

sudo  update-java-alternatives --list

pour lister toutes les installations Java sur une machine par nom et répertoire, puis lancer

sudo  update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]

pour choisir quel JRE/JDK utiliser.

si vous voulez utiliser des JDKs/JREs différents pour chaque tâche Java, vous pouvez lancer update-alternatives pour configurer un exécutable java à la fois; vous pouvez lancer

sudo  update-alternatives --config java[Tab]

pour voir la Java les commandes qui peuvent être configurées (java, javac, javah, javaws, etc.). Et puis

sudo  update-alternatives --config [javac|java|javadoc|etc.]

associera cette tâche/commande Java à un JDK/JRE particulier.

vous pouvez également avoir besoin de définir JAVA_HOME pour certaines applications: de cette réponse vous pouvez utiliser

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

pour JREs, ou

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")

pour JDKs.

3
répondu WillC 2017-09-19 05:02:09