web-dev-qa-db-fra.com

Comment remplacer OpenJDK 6 par OpenJDK 7?

De manière surprenante (OpenJDK 7 étant disponible depuis environ 4 mois), Ubuntu 11.10 utilise toujours OpenJDK 6 au lieu de 7 par défaut. Comment puis-je résoudre ce problème? Je préférerais supprimer complètement OpenJDK 6 et laisser OpenJDK 7 être default-jdk et default-jre.

Je ne veux pas les archives officielles d'Oracle, je veux des deb repos - la manière standard d'Ubuntu.

34
Ivan

Le problème est que le paquet default-jre dépend de OpenJDK 6 et que les dépendances de la plupart des autres packages sont définies comme étant default-jre | openjdk-6-jre | Sun-Java6-jre - jusqu'à ce que OpenJDK 7 soit officiellement pris en charge et soit utilisé comme version par défaut Il faudra garder OpenJDK 6 et définir OpenJDK 7 par défaut avec update-Java-alternatives. Exemple pour un système 64 bits:

$ update-Java-alternatives -l
Java-1.6.0-openjdk 1061 /usr/lib/jvm/Java-1.6.0-openjdk
Java-1.7.0-openjdk-AMD64 1051 /usr/lib/jvm/Java-1.7.0-openjdk-AMD64
$ Sudo update-Java-alternatives -s Java-1.7.0-openjdk-AMD64

Sur les systèmes 32 bits, le nom du répertoire sera différent, vous pouvez trouver le bon nom à l'aide du commutateur -l. La deuxième commande peut générer beaucoup d’erreurs; utilisez le commutateur --jre ou ignorez simplement les erreurs - le script change ce qu'il peut et ignore simplement le reste.

On pourrait théoriquement éditer le paquet default-jre pour qu'il repose sur OpenJDK 7, mais sachez que cela peut causer plus de tort que de mal.

28
jnv

Pour cela, vous devez avoir les deux versions de jdk installées sur votre système. vous pouvez utiliser apt-get pour télécharger les deux.

Après cela, essayez

$ Sudo update-alternatives --config Java

et sélectionnez le jdk que vous souhaitez utiliser.

Openjdk est parfois défavorable pour certaines applications.

Vous devriez également essayer pour Oracle-Java ou Sun-Java.

Le lien ci-dessous est très utile à cet effet:

http://www.webupd8.org/2012/01/install-Oracle-Java-jdk-7-in-ubuntu-via.html

10
shivshnkr

OpenJDK 7 est dans les pensions ubuntu normales dans 11.10. Si vous recherchez openjdk-7-jre et openjdk-7-jdk et que vous les installez à l'aide d'apt-get/synaptic/software center, ils doivent remplacer openjdk-6, s'ils ne le font pas. vous pouvez d'abord supprimer les packages openjdk-6- * en utilisant apt-get purge openjdk-6-*

3
chemicaloliver

Le repo peut être trouvé ici: https://launchpad.net/~openjdk/+archive/ppa

ou:

Sudo apt-add-repository ppa:openjdk/ppa
Sudo apt-get update
Sudo apt-get upgrade

en supposant que vous avez installé OpenJDK

2
LasseValentini