Comment définir la version Java par défaut


8

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

sudo update-alternatives --config java

J'obtiens 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 lance:

sudo update-alternatives --config javac

J'obtiens 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

Il semble donc que la version 7 soit déjà celle 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 puis-je définir la valeur par défaut sur la version 7?


Jetez un œil à Java
Mitch

@Mitch merci, mais il dit simplement d'utiliser update-alternatives, que j'ai déjà essayé
Dónal

avez - vous sudo apt-get install oracle-java7-set-defaultet reboot ?
Eliran Malka

1
Pour info, 11.10 est Fin de vie.
Thomas Ward

Réponses:


4

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

Essayez de fournir le chemin explicite avec d' update-alternatives --installabord, puis exécutez update-alternativespour 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

3

Vous devez javacégalement régler .

sudo update-alternatives --config javac

1

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

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws

un redémarrage a été nécessaire pour moi. Alors ça a marché.

Edit: j'ai réalisé qu'il ne suffisait pas de faire les étapes ci-dessus.

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

    sudo nano /etc/environment

Et ajoutez (une version java différente nécessitera une chaîne différente):

    JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"

0

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


Je veux la version 7, pas 6. La sortie update-alternativesindiquant que j'utilise déjà la version 7, mais java -versionmontre que j'utilise toujours la version 6.
Dónal

0

Je suppose que votre binaire java pointe ailleurs que sur /etc/alternatives/java.

Vérifiez la sortie de: type java

Est-ce que ça dit /usr/bin/java? Si oui, vérifiez si cela pointe correctement vers des alternatives:

ls -l /usr/bin/javadevrait montrer qu'il pointe vers /etc/alternatives/java.

Confirment enfin que /etc/alternatives/javalui - même pointe vers java-7:
ls -l /etc/alternatives/java.

La commande update-alternatives ajuste uniquement la dernière et suppose que les points par défaut /usr/bin/javaauxquels à leur tour sont correctement liés /etc/alternatives/java.


0

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

J'ai donc exécuté: which java et j'ai constaté que le résultat montre que j'utilisais java /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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.