Définition du JDK 7 par défaut


83
 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 noobishness mais j'interprète ces messages comme étant l'environnement d'exécution utilisant Java 7 mais le compilateur utilise Java 6?

Est-ce exact et, dans l'affirmative, comment puis-je le configurer pour qu'il utilise Java version 7?

Réponses:


155

La commutation entre les versions Java installées peut être effectuée à l'aide de la update alternativescommande.

  • 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 une liste de sortie similaire à ceci:

    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 une option 1à l’invite et appuyer sur la Entertouche.

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


D'accord merci. Est-ce que je gagnerais à désinstaller jkd6?
Wingsuit

@ user142712 Pas de problème. Je pense qu’une désinstallation supprimerait également l’ancien plug-in de navigateur, ce qui est avantageux du point de vue de la sécurité.
Kevin Bowen

1
Je n'irais pas pour la réponse «pas de problème» si vite. Consultez oracle.com/technetwork/java/javase/compatibility-417013.html et upstream-tracker.org/java/versions/jdk.html . Il n’ya pas de compatibilité à 100% entre ces deux versions majeures et cela pourrait 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 les conserver au cas où vous auriez besoin de la version précédente.
rbaleksandar

Juste pour être clair. Le commentaire "aucun problème" était une autre façon de dire que vous êtes le bienvenu. Je n’ai jamais prétendu qu’il n’y aurait pas de problème avec votre installation Java.
Kevin Bowen

1
La solution update-alternatives fournie par cette réponse changera JRE uniquement . Voir ci - dessous pour savoir comment basculer l'intégralité du JDK (compilateur et autres outils) en une seule commande
J. Will

15

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

update-alternatives

répond que partiellement à la question. En l'utilisant, il est très probable que votre environnement Java sera incohérent.

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

[sudo] update-alternatives --config java

changera de version pour la seulejava commande , c'est-à-dire repointra l'exécutable principal JRE.

javacet d’autres outils JDK indiqueront toujours l’autre version Java. Pour basculer complètement, vous devez continuer avec update-alternativestous les autres outils.

Le moyen le plus approprié et le plus simple de changer de version Java dans la distribution Linux avec un système "alternatif" - c'est-à-dire dans Debian ou sa version dérivée Ubuntu - consiste à utiliser la commande update-java-alternatives .

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

[sudo] update-java-alternatives -s - basculera vers la version demandée

La source


CETTE! Merci beaucoup. J'aimerais pouvoir vous donner plus de points sur Internet, mais je ne pense pas avoir ce droit pour l'instant.
Nenotlep

10

Vous pouvez exécuter sudo update-alternatives --config javaet sélectionner JDK 7 s'il est installé.


Très bien, ça veut dire que deux de JKD7 ont été installés, l’état de la liste étant automatique et 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: automatique ou manuel. Lorsqu'un groupe est en mode automatique, le système des alternatives décide automatiquement, au fur et à mesure de l'installation et de la suppression des packages, de la mise à jour des liens. . En mode manuel, le système alternatif ne modifiera pas les liens, il laissera toutes les décisions à l'administrateur système. "
mpen

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.