web-dev-qa-db-fra.com

Comment définir la version par défaut de Java

J'utilisais Java 6 sur Ubuntu 11.10, mais je souhaite maintenant passer à la version 7. J'ai installé la version 7 via PPA comme décrit ici . Si je cours

Sudo update-alternatives --config Java

Je reçois la sortie suivante:

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

  Selection    Path                                     Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/Java-7-Oracle/jre/bin/Java   64        auto mode
  1            /usr/lib/jvm/Java-6-Sun/jre/bin/Java      63        manual mode
* 2            /usr/lib/jvm/Java-7-Oracle/jre/bin/Java   64        manual mode

De même, si je cours:

Sudo update-alternatives --config javac

Je reçois la sortie:

  Selection    Path                                  Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/Java-7-Oracle/bin/javac   64        auto mode
  1            /usr/lib/jvm/Java-6-Sun/bin/javac      63        manual mode
* 2            /usr/lib/jvm/Java-7-Oracle/bin/javac   64        manual mode

Donc, il semble que la version 7 soit déjà la version par défaut. Mais si je cours non plus

Java -version

ou

javac -version

La sortie indique que la version 6 est toujours la valeur par défaut. Comment définir la valeur par défaut sur la version 7?

8
Dónal

Selon cette réponse: Comment définir la version par défaut de Java??

Essayez d’abord de fournir le chemin explicite avec update-alternatives --install, puis exécutez update-alternatives pour faire votre sélection:

Sudo update-alternatives --install "/usr/bin/Java" "Java" "/usr/lib/jvm/Java-7-Oracle/jre/bin/Java" 1

Sudo update-alternatives --config Java

Sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/Java-7-Oracle/bin/javac" 1

Sudo update-alternatives --config javac
4
Aaron

Vous devez également définir javac.

Sudo update-alternatives --config javac
3
Paradiesstaub

J'ai eu le même problème. J'avais Sun jdk6 installé. Après

    Sudo update-alternatives --config Java
    Sudo update-alternatives --config javac
    Sudo update-alternatives --config javaws

un redémarrage était nécessaire pour moi. Cela a fonctionné.

Edit: J'ai réalisé que cela ne suffisait pas pour effectuer les étapes ci-dessus.

J'ai également dû éditer la variable d'environnement:

    Sudo nano /etc/environment

Et ajoutez (une version différente de Java nécessitera une autre chaîne):

    Java_HOME="/usr/lib/jvm/Java-7-openjdk-AMD64"
1
Chris S

J'ai essayé presque toutes les méthodes énumérées ci-dessus, mais je trouvais toujours Java -version imprimer la mauvaise version alors que ls -al /etc/alternatives/Java indiquait déjà la bonne.

J'ai donc lancé: which Java et constaté que le résultat indiquait que j'utilisais Java à partir de /usr/local/jdk_xxx/bin/Java, puis j'ai supprimé ce dossier et redémarré le terminal. Maintenant, le Java fonctionne bien.

J'espère que cela aidera les autres.

0
Xinjing

Je suppose que votre binaire Java pointe vers un autre endroit que /etc/alternatives/Java.

Vérifiez la sortie de: type Java

Est-ce qu'il dit /usr/bin/Java? Si c'est le cas, vérifiez si cela pointe correctement vers des alternatives:

ls -l /usr/bin/Java devrait montrer qu'il pointe vers /etc/alternatives/Java.

Enfin, confirmez que /etc/alternatives/Java lui-même pointe vers Java-7:
ls -l /etc/alternatives/Java.

La commande update-alternatives ajuste uniquement le dernier et suppose que la valeur par défaut pointe vers /usr/bin/Java, qui est à son tour correctement lié à /etc/alternatives/Java.

0
sumwale

insérez le numéro qui identifie le chemin souhaité et appuyez sur entrée. dans ce cas, insérer 1.

enfin, essayez de tester la version Java -version

0
obysr