Définir JDK 8 comme Java par défaut sur Debian 8

8

J'essaie de définir les outils Java SDK 8 (installés à partir du dépôt Debian backports) comme paramètres par défaut.

# update-java-alternatives --list
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

# update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64
update-alternatives: error: no alternatives for mozilla-javaplugin.so
update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so

Hum, bien à part cette erreur (que je suis amené à croire n'est qu'un avertissement selon /ubuntu/141791/is-there-a-way-to-update-all-java-related- alternatives . Sinon, je ne sais pas comment résoudre ce problème, car il n'y a pas icedtea plugin pour le jdk8 que je peux voir), cela aurait dû faire l'affaire, non?

Mais de nombreux outils Java pointent toujours vers Java 7:

# update-alternatives --get-selections | grep java
appletviewer                   manual   /usr/lib/jvm/java-8-openjdk-amd64/bin/appletviewer
extcheck                       auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/extcheck
idlj                           auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/idlj
jar                            auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/jar
jarsigner                      auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/jarsigner
java                           manual   /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
javac                          auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/javac
javadoc                        auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/javadoc
...

Ce qui donne? Cassé?

ÉDITER:

A travaillé avec:

for i in `update-alternatives --get-selections | grep java | awk '{print $1}'`; do update-alternatives --config $i; done

Cela vous demandera manuellement pour chaque outil. Ce qui prend environ une minute. Je voudrais quand même savoir s'il existe une meilleure façon.

Edd Barrett
la source

Réponses:

5

update-java-alternativesa des options de mettre à jour --jre-headless, --jreet --pluginséparément.

En utilisant

sudo update-java-alternatives --jre-headless --jre --set java-1.8.0-openjdk-amd64

travaillé pour moi sur un serveur Debian Jessie sans plugin installé.

hfs
la source
4

Dans ubuntu, JDK1.8 ne reste pas installé par défaut. Lorsque vous répertoriez des alternatives java

$ update-java-alternatives -l
java-1.11.0-openjdk-amd64      1101       /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64
java-7-oracle                  1082       /usr/lib/jvm/java-7-oracle

java-1.8.0-openjdk-amd64dans cette liste n'est pas JDK, mais JRE à la place . JRE ne contient pas tous les outils de développement nécessaires comme javac, javadoc, etc. Vous pouvez vérifier si le répertoire bin contient ces fichiers. C'est la raison de ne pas enregistrer ces outils.

Donc, vous devez d'abord installer JDK

sudo apt install openjdk-8-jdk

Et puis changez l'alternative

sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
misbah
la source
2

La façon la plus simple d'y parvenir dans Debian est d'utiliser cette commande

update-alternatives --config java

Ensuite, vous obtiendrez une sortie comme celle-ci:

*0  /usr/lib/jvm/java-8-openjdk-amd64/bin/java  auto mode
 1  /usr/lib/jvm/jdk1.7.0/bin/java              manual mode

Vous pouvez ensuite modifier votre sélection par défaut (marquée d'un "*") en tapant le numéro d'index. Par exemple, vous sélectionnez "1" pour utiliser Java 7 comme JVM par défaut. Vous pouvez réexécuter la commande afin de vérifier les modifications.

J'espère que cela aide.

patan90
la source
1

Pour Linux (par exemple Debian):

# update-alternatives --config java
# update-alternatives --config javac
# update-alternatives --config javaws

Exemple:

$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-10-oracle/bin/java             1091      auto mode
* 1            /usr/lib/jvm/java-10-oracle/bin/java             1091      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode
  4            /usr/lib/jvm/jdk1.7.0_80/bin/java                1         manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode
CamelTM
la source
0

Vous devez changer la variable home java pour java 8 dans le fichier ci-dessous

  'vi /etc/environment'

Dans ce format

JAVA_HOME- / usr / lib / jvm / java-8-oracle

Rechargez le fichier de configuration à l'aide de

'. /etc/environment'

Et confirmez par ceci

   echo  $JAVA_HOME
SuperKrish
la source