web-dev-qa-db-fra.com

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

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

J'ai en fait la version 6.22 de Java et souhaite effectuer la mise à jour vers la version 6.30.

Ainsi, 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 est mis à jour de Java 5 à Java 6.

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

$ ls -l /usr/lib/jvm
total 8 
lrwxrwxrwx  1 root root   14 2011-07-12 15:18 default-Java -> Java-6-openjdk
lrwxrwxrwx  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

Qu'est-ce que je devrais faire maintenant?


PARTIE AJOUTÉE

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

En fait, si je lance la commande Java -version, le résultat sera le suivant:

$ Java -version
Java 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 -version
javac 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 Java Runtime Environment ait été mis à jour, mais pas Java Compilateur ni Java plug-in pour le navigateur.

Comment puis-je les mettre à jour?


AUTRE PARTIE AJOUTÉE

Sudo update-alternatives --config Java retournera la sortie suivante

$ Sudo update-alternatives --config Java
There 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 mode

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

cela est logique avec le fait que JRE est correctement mis à jour vers la version 6.31. Les problèmes concernent Java Compiler et Java plug-in de navigateur.

Des idées?

111
Matteo

Re votre première question:

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

Suite au réglage de la version javac.

Je suppose que vous devez indiquer explicitement le chemin du compilateur javac

c'est à dire.

Sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/Java-6.31-Oracle/bin/javac" 1

suivi par:

Sudo update-alternatives --config javac

En ce qui concerne la configuration du plug-in Java chrome.

La question principale:

Comment installer Oracle JDK 6?

inclut cette information - 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/
99
fossfreedom

Voir this ; courir

Sudo  update-Java-alternatives --list

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

Sudo  update-Java-alternatives --set [JDK/JRE name e.g. Java-8-Oracle]

choisir quel JRE/JDK utiliser.

Si vous souhaitez utiliser différents JDK/JRE pour chaque tâche Java, vous pouvez exécuter update-alternatives pour configurer un exécutable Java à la fois; tu peux courir

Sudo  update-alternatives --config Java[Tab]

pour voir les commandes Java pouvant être configurées (Java, javac, javah, javaws, etc.). Et alors

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: de cette réponse vous pouvez utiliser

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

pour les JRE, ou

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

pour les JDK.

49
WillC

Je pense que vous devriez jeter un coup d’œil à la commande update-Java-alternatives du paquetage Java-common et aux fichiers *.jinfo qu’elle utilise. Avec cela, vous devriez pouvoir basculer complètement entre les installations Java (quels que soient le JDK, le JRE, ...).

25
Johannes Wachter

Sur Ubuntu/Linux, vous pouvez changer de version Java à l’aide de

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=$PWD
echo "Directory: $lookforJdks"
jdks=`test -e ./javac || find $lookforJdks -type d -iname '*jdk1.*' 2> /dev/null`
#set -e
echo '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 choose
test -e ./javac || cd `echo "$jdks" | tr '\n' ',' | cut -d',' -f $choose`/bin
for 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ù les machines JVM ont été décompressées et exécutez:

/opt/install-Java.sh

Utilisation suivante:

update-alternatives --config Java
6
Ricardo Jl Rufino

Si vous allez définir manuellement des alternatives pour javac javaws javadoc ou toute autre commande liée à Java, vous pouvez en faire des esclaves de l'altenative 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

La meilleure version de Java en mode automatique est /opt/jdk1.8.0_74/bin/Le lien Java pointe actuellement sur /opt/jdk1.8.0_74/bin/Lien lien Java est/usr/bin/esclave Java javadoc est/usr/bin/javadoc /opt/jdk1.8.0_74/bin/Java - priorité 0 esclave javadoc: /opt/jdk1.8.0_74/bin/javadoc

Changez /opt/jdk1.8.0_74/ avec le répertoire où votre jdk est installé.

1
Thiago