J'essaie de définir les Java SDK 8 tools (installés à partir du dépôt backports debian) comme valeurs 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 https://askubuntu.com/questions/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 de plugin icedtea pour jdk8 que je puisse voir), cela aurait dû faire l'affaire, non?
Mais de nombreux outils Java Java pointent toujours sur 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.
update-Java-alternatives
a des options pour mettre à jour --jre-headless
, --jre
, et --plugin
sé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é.
Dans ubuntu, JDK1.8 ne reste pas installé par défaut. Lorsque vous indiquez pour Java alternatives
$ 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-AMD64
dans 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
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" afin d'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.
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
Vous devez changer la variable Java home 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