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?

Dónal
la source
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
Aaron
la source
3

Vous devez javacégalement régler .

sudo update-alternatives --config javac
Paradiesstaub
la source
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"
Chris S
la source
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

obysr
la source
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.

Sumwale
la source
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.

Xinjing
la source