Question Définir JDK 7 par défaut


 four@twenty:~$ file /etc/alternatives/java /etc/alternatives/javac
 /etc/alternatives/java:symbolic link to `/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'
 /etc/alternatives/javac:symbolic link to `/usr/lib/jvm/java-6-openjdk-amd64/bin/javac'

Pardonnez ma noblesse mais j'interprète ces messages comme l'environnement d'exécution utilisant Java 7 mais le compilateur utilise Java 6?

Est-ce exact, et si oui, comment puis-je le configurer pour utiliser Java version 7?


66
2018-03-25 10:22


origine




Réponses:


La commutation entre les versions Java installées peut être effectuée en utilisant le update alternatives commander.

  • Pour obtenir la liste de vos plates-formes Java installées, exécutez la commande suivante à partir du terminal:

    sudo update-alternatives --config java
    

    Cela vous donnera un résultat similaire à celui-ci:

    There are 2 choices for the alternative java (providing /usr/bin/java).
       Selection    Path                                           Priority   Status
      ------------------------------------------------------------
      0            /usr/lib/jvm/java-6-oracle/jre/bin/java         1070      auto mode
      1            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1051      manual mode
    * 2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1069      manual mode
    Press enter to keep the current choice[*], or type selection number: 
    

Dans ce cas, la version Open JDK 6 est en cours d'exécution. Pour passer à Open JDK version 7, vous devez sélectionner l’option 1 à l'invite et appuyez sur la Entrer clé.

Vous allez maintenant exécuter la version OpenJDK 7. Aucune autre modification ne sera nécessaire pour changer de version de Java.


131
2018-03-25 10:41



D'accord merci. Est-ce que je gagnerais quelque chose à désinstaller jkd6? - Wingsuit
@ user142712 Pas de problème. Je pense qu'une désinstallation supprime également l'ancien plug-in de navigateur, ce qui est bénéfique pour la sécurité. - Kevin Bowen
Je n'irais pas pour la réponse "Pas de problème" si vite. Vérifier oracle.com/technetwork/java/javase/compatibility-417013.html et upstream-tracker.org/java/versions/jdk.html. Il n'y a pas de compatibilité à 100% entre ces deux versions majeures et cela peut arriver (peu probable mais quand même ...) que vous ayez une application X qui ne peut pas fonctionner correctement avec la septième version. Jusqu'à ce que vous vous assuriez qu'il n'y aura pas de problèmes, je vous conseille vivement de conserver les deux au cas où vous auriez besoin de la version précédente. - rbaleksandar
Juste pour être clair. Le commentaire "sans problème" était une autre façon de me dire que vous êtes les bienvenus, je n'ai jamais prétendu qu'il n'y aurait pas de problèmes avec votre installation Java. - Kevin Bowen
vous devez le faire pour javac aussi bien au cas où vous voudriez aussi changer le compilateur. - KillBill


Tu peux courir sudo update-alternatives --config javaet sélectionnez JDK 7 s'il est installé.


10
2018-03-25 10:33



Bravo, il est dit que j'ai deux de JKD7 installé un statut de liste comme auto l'autre manuel. Y a-t-il une différence? - Wingsuit
Il y a des infos ici: linux.die.net/man/8/update-alternatives mais je choisirais auto. - Frederik Spang
"Chaque groupe de liens est, à tout moment, dans l’un des deux modes suivants: automatique ou manuel. Lorsqu'un groupe est en mode automatique, le système alternatif décidera automatiquement, lors de l’installation et de la suppression des paquets, si et comment mettre à jour les liens. En mode manuel, le système de remplacement ne changera pas les liens, il laissera toutes les décisions à l'administrateur du système. " - mpen


La réponse la plus votée qui suggère d'utiliser

update-alternatives

ne répond que partiellement à la question et en fait pourrait être dangereux à suivre. En l'utilisant, il est fort probable que votre environnement Java soit incohérent.

Ceci est particulièrement important si vous avez JDK, pas JRE, comme

[sudo] update-alternatives --config java

va changer de version pour le le java commander seulement, c’est-à-dire repoint l’exécutable JRE principal.

javac et d'autres outils JDK indiqueront toujours l'autre version de Java. Pour passer complètement, vous devez continuer avec update-alternatives pour tous les autres outils.

le correct et beaucoup plus facile moyen de changer les versions Java dans la distribution Linux avec le système "alternatives" - c'est-à-dire dans Debian ou son dérivé Ubuntu - est d'utiliser update-java-alternatives commander.

update-java-alternatives -l - listera les versions Java installées

[sudo] update-java-alternatives -s  - passera à la version demandée

La source


10
2018-02-16 19:13



CE! Merci beaucoup. J'aimerais pouvoir vous donner plus de points sur Internet, mais je ne pense pas avoir encore raison. - Nenotlep


la manière de l'interface graphique

$ sudo apt-get install galternatives

$ sudo galternatives

plus ici: https://askubuntu.com/a/159594/216936


4
2018-02-04 16:07



Vous dites que c'est la manière de l'interface graphique; mais, immédiatement, vous avez recours aux commandes cli en tant que résolution. Pouvez-vous expliquer pourquoi c'est une solution? - Kevin Bowen
@KevinBowen Ceci installe une application graphique. - WouterH
WouterH a raison. debianadmin.com/…  thx wouterH - Alexander Pfeif