Comment définir la version Java par défaut?

J'ai suivi toutes les instructions énoncées à ce question, mais je rencontre quelques problèmes avec la dernière partie de celui-ci.

J'ai en fait la version 6.22 de Java et je voudrais mettre à jour vers la version 6.30.

Donc, après avoir déplacé le répertoire extrait java-6-oracle dans /usr/lib/jvm Je ne sais pas quoi faire, car le script indiqué dans la réponse ci-dessus passe de java 5 à java 6.

Par souci de clarté, voici la sortie si je fais un ls dans dir /usr/lib/jvm:

$ ls -l /usr/lib/jvmtotal 8 lrwxrwxrwx  1 root root   14 2011-07-12 15:18 default-java -> java-6-openjdklrwxrwxrwx  1 root root   14 2011-07-12 12:19 java-1.6.0-openjdk -> java-6-openjdk drwxr-xr-x 10 root root 4096 2012-04-12 12:06 java-6.31-oracle drwxr-xr-x  7 root root 4096 2012-02-24 14:43 java-6-openjdk

Que dois-je faire maintenant?


PARTIE AJOUTÉE

Sous la suggestion de @fossfreedom, j'ai quand même exécuté le script et il a mis à jour la version Java.

En fait, si je lance la commande java -version la sortie sera la suivante:

$ java -versionjava version "1.6.0_31"Java(TM) SE Runtime Environment (build 1.6.0_31-b04)Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)

Il y a toujours un problème, si Irun javac -version il me donne l'ancienne version installée:

$ javac -versionjavac 1.6.0_22

Et si j'utilise le testeur à ce lien il me dira que la version est

Java Version 1.6.0_22 from Sun Microsystems Inc.

Qu'est-ce qui ne va pas?

Il semble que l'environnement d'exécution Java ait été mis à jour, mais pas le compilateur Java et le plugin Java pour navigateur.

Comment puis-je les mettre à jour?


AUTRE PARTIE AJOUTÉE

sudo update-alternatives --config java retournera la sortie suivante

$ sudo update-alternatives --config javaThere are 2 choices for the alternative java (providing /usr/bin/java).  Selection    Path                                      Priority   Status------------------------------------------------------------* 0            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      auto mode  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode  2            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      manual modePress enter to keep the current choice[*], or type selection number:

cela a du sens avec le fait que JRE est correctement mis à jour vers la version 6.31, les problèmes concernent le compilateur Java et le plugin de navigateur Java.

Des idées?

Re votre première question:

peut - être que vous confondez que le script webupd8 est 0.5 b. C'est la version du script-il ne fait pas référence à la version java.

Suite au paramétrage de la version javac.

Je soupçonne que vous devez explicitement donner le chemin du compilateur javac

i.e.

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6.31-oracle/bin/javac" 1

suivi de:

sudo update-alternatives --config javac

En ce qui concerne la configuration du plugin java chrome.

La question maîtresse:

Comment installer Oracle JDK 6?

inclut ces informations-puisque la structure de votre dossier est légèrement différente, votre commande de lien devrait être:

ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

Voir ce; exécuter

sudo  update-java-alternatives --list

pour répertorier toutes les installations Java sur une machine par nom et répertoire, puis exécutez

sudo  update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]

pour choisir le JRE / JDK à utiliser.

Si vous souhaitez utiliser différents JDKS / JRES pour chaque tâche Java, vous pouvez exécuter update-alternatives pour configurer un exécutable java à la fois; vous pouvez exécuter

sudo  update-alternatives --config java[Tab]

pour voir les commandes Java qui peuvent être configurées (java, javac, javah, javaws, etc.). Et puis

sudo  update-alternatives --config [javac|java|javadoc|etc.]

associera cette tâche/commande Java à un JDK/JRE particulier.

Vous devrez peut-être également définir JAVA_HOME pour certaines applications: à partir de cette réponse vous pouvez utiliser

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

pour JREs, ou

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")

pour les JDK.

Je pense que vous devriez jeter un oeil à la update-java-alternatives commande à partir du java-common paquet et le *.jinfo fichiers qu'il utilise. Avec cela, vous devriez pouvoir basculer complètement entre les installations Java (indépendamment de JDK, JRE,...).

Sur ubuntu / linux, vous pouvez changer de version de Java en utilisant

update-alternatives --config java

Mais avant, vous devez installer la version.

Vous pouvez utiliser ce script (./install-java.sh) pour installer plusieurs JVM

#!/bin/sh(lookforJdks=$PWDecho "Directory: $lookforJdks"jdks=`test -e ./javac || find $lookforJdks -type d -iname '*jdk1.*' 2> /dev/null`#set -eecho 'which jdk do you want to choose? looking for jdks. This might take a while'echo "$jdks" | awk '{printf("%5d : %s\n", NR,$0)}'read choosetest -e ./javac || cd `echo "$jdks" | tr '\n' ',' | cut -d',' -f $choose`/binfor e in appletviewer extcheck idlj jar jarsigner java javac javadoc javah javap jconsole \ jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic \ schemagen serialver wsgen wsimport xjc jvisualvm jmc; do sudo update-alternatives \ --install /usr/bin/$e $e $(readlink -f ./$e) 100; done)echo "RUN update-alternatives --config java"

Placez ce script dans le dossier où a décompressé la(les) machine (s) virtuelle (s), et exécutez:

/opt/install-java.sh

Prochaine utilisation:

update-alternatives --config java

Si vous allez définir manuellement des alternatives pour javac javaws javadoc ou toute autre commande liée à java, vous voudrez peut-être en faire des esclaves de l'alténative java.

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_74/bin/java" 0 --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk1.8.0_74/bin/javadoc"update-alternatives: updating alternative /opt/jdk1.8.0_74/bin/java because link group java has changed slave links:/opt/jdk1.8.0_74$ sudo update-alternatives --display java

java-lien en mode automatique la meilleure version est /opt / jdk1. 8. 0_74/bin / java le lien pointe actuellement vers /opt / jdk1. 8. 0_74/bin/java link java est /usr / bin / java esclave javadoc est /usr/bin/javadoc/opt/jdk1.8.0_74/bin /java - priorité 0 esclave javadoc:/opt / jdk1.8.0_74 / bin / javadoc

Modifiez /opt / jdk1.8.0_74/ avec le répertoire dans lequel votre jdk est installé.

Ouvrir /etc/environment dans n'importe quel éditeur de texte et ajoutez la ligne suivante:

JAVA_HOME="usr/lib/jvm/open-jdk 

- Le chemin Java pourrait être différent.
Utilisez source pour charger les variables, en exécutant cette commande:

source /etc/environment

Vérifiez ensuite la variable, en exécutant cette commande:

echo $JAVA_HOME

Avec ce chemin défini, exécutez cette commande:

sudo  update-java-alternatives --list

Choisissez votre version Java par défaut.

Si vous avez besoin, par exemple, de passer automatiquement à Java 8 (compilateur 1.8), en une seule ligne, par exemple pour un script ou une suite de tests d'intégration continue, vous pouvez exécuter

sudo update-java-alternatives -s $(sudo update-java-alternatives -l | grep 8 | cut -d " " -f1) || echo '.'

Il récupérera automatiquement toute version de Java 8 disponible et la définira à l'aide de la commande update-java-alternatives.

Le || echo '.' à la fin, assurez-vous simplement que la commande renvoie le succès, car étrangement update-java-alternatives par défaut renvoie error (1). Vous pouvez l'ignorer si vous n'en avez pas besoin pour une suite de tests.

Si vous souhaitez passer à une autre version, remplacez simplement le 8 par la version souhaitée dans la commande précédente.

hmmm-peut-être que vous confondez que le script webupd8 est 0.5 b? C’est la version du script - il ne fait pas référence à la version java. Essayez-le. Permet de voir une capture d’écran de ce à quoi ressemble la fenêtre lorsque vous exécutez le script.

@fossfreedom Je ne l’ai pas essayé parce que je pensais que ce n’était pas une bonne idée d’être explicitement écrit pour le téléchargement de Java 5 à 6, devrais-je quand même?

@fossfreedom ouais, ça m’a totalement dérouté; D J’ai lancé le script! vérifiez les modifications en question!merci beaucoup de m’avoir aidé…

comme c’est étrange … je n’ai jamais rencontré ça. Quoi qu’il en soit - regardez la réponse juste en dessous - vous devriez pouvoir “sudo update-alternatives” selon l’exemple.

@fossfreedom mise à jour à nouveau question!

laissez-nous continuer cette discussion dans le chat

‘javac version version’ est pour JDK alors que ‘java version version’ est pour JRE

@ Matteo-réponse mise à jour - vous devrez suivre les instructions d’installation du plugin selon java - How do I install Oracle JDK 6? - Ask Ubuntu

@ Ashu-la version javac is est JavaCompiler et la version java is est pour JRE (je pense)