web-dev-qa-db-fra.com

update-alternatives: problème "le chemin alternatif n'existe pas" lors de la mise à jour de JDK7

J'ai décidé de mettre à jour mon JDK7 vers la version récente à partir de ici .

L'archive x64 tag.gz correspondante pour mon architecture a été téléchargée et extraite dans /usr/lib/jvm comme d'habitude. Toutes les versions précédentes de Java ont été installées avant de la même manière. Mais avant de définir de nouvelles alternatives pour Java, javac et javaws, j'ai supprimé toutes les alternatives existantes à l'aide des commandes suivantes:

Sudo update-alternatives --remove-all Java
Sudo update-alternatives --remove-all javac
Sudo update-alternatives --remove-all javaws

Maintenant, lorsque j'essaie d'installer de nouvelles alternatives, j'obtiens ce qui suit:

Sudo update-alternatives --install /usr/lib/jvm/jdk1.7.0_13/bin/Java java /usr/bin/Java 1
update-alternatives: error: alternative path /usr/bin/Java doesn't exist.

Bien sûr, /usr/bin/Java n'existe pas mais /usr/bin existe? Quel est le problème avec elle et comment puis-je résoudre ce problème?

8
Ezze

C'est ma faute épique! :)

J'ai mélangé les arguments de update-alternatives. La bonne ligne de commande doit être:

Sudo update-alternatives --install /usr/bin/Java java /usr/lib/jvm/jdk/bin/Java 1
7
Ezze

Étant donné que vous mettez à jour une version précédente Java que vous avez supprimée manuellement, vous devez exécuter la commande suivante deux fois. Vous obtenez un message d'erreur la première fois et cela fonctionne lorsque vous l'exécutez une deuxième fois.

Sudo update-alternatives --install "/usr/bin/Java" "Java" "/usr/lib/jvm/jdk/bin/Java" 1

Source: Projet Linux facile

2
Aditya