101 votes

Comment utiliser la commande update-alternatives --config java

J'installe Apache Solr sur Linux Debian (Squeeze). On m'a demandé d'installer sun-java jdk en premier. On me dit ensuite que je dois utiliser la commande sudo update-alternatives --config java pour s'assurer qu'un java particulier (sun-java) est le runtime par défaut. Pourtant, lorsque je lance cette commande, j'obtiens :

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      auto mode
  1            /usr/bin/gij-4.4                           1044      manual mode
  2            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  3            /usr/lib/jvm/java-6-sun/jre/bin/java       63        manual mode

Press enter to keep the current choice[*], or type selection number:

Alors quel numéro dois-je sélectionner pour avoir sun-java comme runtime par défaut ? De plus, que signifient exactement les modes automatique et manuel ? Si je sélectionne 3 ci-dessus et que j'exécute la commande update-alternative, je reçois le même résultat que ci-dessus. Là encore, rien ne semble avoir changé, sauf que l'astérisque (*) se trouve maintenant devant le 3, bien que le mode manuel soit toujours indiqué.

Existe-t-il un moyen de confirmer que ce que j'ai fait est correct ?

7voto

Il y a beaucoup d'autres binaires qui doivent être liés, donc je pense qu'il est préférable d'essayer quelque chose comme sudo update-alternatives --all et choisir les bonnes alternatives pour tout le reste java y javac .

3voto

armadill013 Points 51

Si vous voulez changer de jdk régulièrement (ou mettre à jour vers un nouveau jdk une fois qu'il est sorti), il est très pratique d'utiliser sdkman .

Vous pouvez également utiliser des outils supplémentaires comme maven avec sdkman.

1voto

hinnarksen Points 11

Jetez un coup d'œil à https://wiki.debian.org/JavaPackage En bas de cette page, une autre méthode est décrite en utilisant une commande du paquet java-common

0voto

Après avoir installé n'importe quel jdk ouvert, il suffit d'exécuter et de sélectionner le jdk désiré :

sudo update-alternatives --config java

Command line screenshot

0voto

Ajay Kharat Points 75

J'ai 2 versions de java installées sur mon instance AWS EC2 ; java 8 et 11 mais le fichier couponservice-0.0.1-SNAPSHOT.jar a besoin de java 11 pour fonctionner car ce fichier .jar a été créé en utilisant java 11.

[Root@ip-172-31-94-132 ~]# alternatives --config java

Il y a 2 programmes qui fournissent 'java'.

Commande de sélection

  • 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.amzn2.0.1.x86_64/jre/bin/java)

  • 2 /usr/java/jdk-11.0.12/bin/java

Entrer pour garder la sélection actuelle [+], ou taper le numéro de sélection : 2

[Root@ip-172-31-94-132 ~]# java -version

java version "11.0.12" 2021-07-20 LTS Environnement d'exécution Java(TM) SE 18.9 (build 11.0.12+8-LTS-237) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.12+8-LTS-237, mode mixte)

Maintenant vous pouvez exécuter le fichier .jar spécifique à

[Root@ip-172-31-94-132 ~]# java -jar couponservice-0.0.1-SNAPSHOT.jar

Référence : - https://www.server-world.info/en/note?os=CentOS_7&p=jdk11&f=2

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X