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?
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
Vous devez également définir javac
.
Sudo update-alternatives --config javac
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"
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.
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
.
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