72 votes

Pourquoi OpenJDK 10 est-il packagé sous le nom de openjdk-11-* ?

En cherchant à compiler OpenJDK à partir des sources, la toute dernière version de la disponibilité générale ( OpenJDK 10.0.1 ) insiste sur OpenJDK 9 ou 10. Le JDK 11, cependant, ne devrait pas être publié avant le mois d'octobre. Septembre 2018 .

Cependant, à ma grande surprise, quand je fais apt search openjdk le résultat est :

...
openjdk-11-jdk - OpenJDK Development Kit (JDK)
...
openjdk-8-jdk - OpenJDK Development Kit (JDK)
...

Pas d'OpenJDK 9 ou 10 !

Et attendez, c'est OpenJDK 11 ? Peut-être une version Beta ? Nooo....

Alors j'ai regardé apt show openjdk-11-jdk :

Package: openjdk-11-jdk
Version: 10.0.1+10-3ubuntu1
...

Pourquoi OpenJDK 10 a été packagé sous le nom de openjdk-11-* ?

63voto

muru Points 180007

En effet, ces paquetages deviendront OpenJDK 11 lorsque celui-ci sera publié. Voir ce message de la liste de diffusion :

Au nom de l'équipe des fondations Ubuntu, je demande une SRU pour OpenJDK. Nous prévoyons de publier OpenJDK 10 en tant que JRE/JDK par défaut 1 pour Bionic, et ensuite déplacer le JRE/JDK par défaut en principal vers OpenJDK 11 en septembre/octobre 2018 en tant que SRU.

\= Plan proposé =

Bionic sera publié avec OpenJDK 10 comme JRE/JDK par défaut et OpenJDK 11 le remplacera lorsqu'il atteindra GA.

...

Si nous voulons passer à OpenJDK 11 dans bionic une fois qu'il sera publié, nous devons voulons éviter qu'OpenJDK 8 soit le JRE/JDK par défaut dans Bionic au moment de la sortie car tout delta d'interface supplémentaire qui existe entre 8 et 11 n'expose pas seulement 11 n'expose pas seulement l'archive à la casse, mais aussi les consommateurs externes du JDK. consommateurs externes du JDK. En comparaison, le delta d'interface entre OpenJDK 10 et OpenJDK 11 devrait être assez faible, surtout en comparaison avec le delta entre OpenJDK 8 et OpenJDK 9, dont nous savons déjà qu'il est important. Nous devrions donc publier avec OpenJDK 10 comme JDK par défaut dans la version 18.04, en passant à OpenJDK 11 lorsqu'il sera disponible.

C'est aussi pourquoi le paquet source de openjdk-11-* s'appelle en fait openjdk-lts .


Un rapport de bogue a été déposé - veuillez vous y abonner (mais ne commentez pas, sauf si vous avez de nouvelles informations à ajouter, ce qui est peu probable). Un développeur Ubuntu, Jeremy Bicha, a répondu :

L'intention est de mettre à niveau openjdk-11 vers 11 dans Ubuntu 18.04 LTS. C'est pourquoi pourquoi il a été nommé de cette façon. C'est un changement majeur et il faudra un certain temps de préparation. Il n'y a pas besoin de demander à ce que cela soit fait puisque cela sera fait. ce sera fait.

Ubuntu 18.04 LTS est sortie plusieurs mois avant la sortie d'OpenJDK 11. OpenJDK 11, il n'était donc pas possible de fournir OpenJDK 11 avant la sortie d'Ubuntu 18.04 LTS soit publiée.

https://lists.ubuntu.com/archives/ubuntu-release/2018-March/004364.html

Désolé pour le dérangement.

2018-11-24 : S'il vous plaît, ne demandez pas une ETA. Cela envoie un courriel à toutes les personnes souscrit à ce bug et n'aide pas à résoudre le bug.

Ce bogue est en cours d'étude. openjdk 11.0.1 a été mis à jour dans la version 18.10 et il y avait une mise à jour de sécurité qui devait être traitée rapidement dans la 18.04 LTS. La version 11.0.1 sera intégrée à la 18.04 LTS lorsqu'elle sera prête, mais il s'agit d'un changement majeur qui nécessite une coordination minutieuse. changement majeur qui nécessite une coordination minutieuse.

2019-02-26 : Ce bogue est déjà traité dans le bogue 1814133, je le marque donc comme un doublon. Les discussions ultérieures devraient avoir lieu sur ce bogue plutôt qu'ici.


A nouveau rapport de bogue a été ouvert pour le suivi de tous les changements qui doivent être effectués, et il y a une lot d'entre eux - un compte approximatif de 140. Extraits du rapport de bogue :

Cette transition est une mise à jour de sécurité de openjdk-lts de openjdk-10 à openjdk-11. Cela introduit des problèmes d'exécution et de FTBFS qui nécessitent des rétroportages de plusieurs paquets dans la pochette de sécurité également.

Les paquets sont construits sur des AAE dans le cadre de l'accord de partenariat public-privé. https://launchpad.net/~openjdk-11-transition équipe. Les PPA dépendent uniquement de la poche de sécurité et sont séparés par étapes.

Le processus convenu entre les fondations et l'équipe de sécurité est que les paquets des PPAs seront copiés en binaire dans bionic-proposed, vérifiés pour les problèmes de migration, et - si aucun problème n'est en suspens - copiés dans bionic-security.

[...]

Quelques paquets devront également être mis à jour dans Cosmic, mais à titre exceptionnel. exception qui sera faite une fois que la transition vers Bionic sera terminée.

Et un autre développeur Ubuntu, Tiago Stürmer Daitx a noté :

[Nous prévoyons de mettre à jour les applications Java qui sont affectées par ce problème. transition.

Pour être plus spécifique, tout paquet qui ne fonctionne pas correctement avec openjdk-11 sera examiné et sera candidat à une mise à jour. Le site mise à jour n'implique pas nécessairement l'utilisation de la dernière version : nous pouvons simplement appliquer ou reporter des changements qui leur permettent de fonctionner sous openjdk-11.

Pas encore d'ETA pour le moment. De nombreux paquets ont été mis à jour et ajoutés aux différents PPAs maintenus par l'équipe de transition, donc si vous souhaitez participer aux tests, consultez-les.


Mise à jour du 17 avril 2019 :

Il semble que le correctif ait été publié. Maintenant apt show openjdk-11-jdk montre :

Package: openjdk-11-jdk
Version: 11.0.2+9-3ubuntu1~18.04.3

Et la sortie de java -version est :

openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment (build 11.0.2+9-Ubuntu-3ubuntu118.04.3)
OpenJDK 64-Bit Server VM (build 11.0.2+9-Ubuntu-3ubuntu118.04.3, mixed mode, sharing)

5voto

Karl Points 151

Voir la réponse de muru ci-dessus,

mais pour contourner le problème, vous pouvez installer openjdk 11 manuellement et l'ajouter à la liste des alternatives de mise à jour afin de pouvoir changer de version, et lorsque le paquet officiel est mis à jour, vous pouvez passer à celui-ci. voir ci-dessous pour voir comment :

$ wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz -O /tmp/openjdk-11.0.2_linux-x64_bin.tar.gz

$ sudo tar xfvz /tmp/openjdk-11.0.2_linux-x64_bin.tar.gz --directory /usr/lib/jvm

qui décompresse le jdk sous /usr/lib/jvm/jdk-11.0.2

puis l'ajouter au système alternatif

sudo sh -c 'for bin in /usr/lib/jvm/jdk-11.0.2/bin/*; do update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 100; done'

sudo sh -c 'for bin in /usr/lib/jvm/jdk-11.0.2/bin/*; do update-alternatives --set $(basename $bin) $bin; done'

voir dans les alternatives

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

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
* 3            /usr/lib/jvm/jdk-11.0.2/bin/java                 100       manual mode

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

vérifiez qu'il fonctionne

$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X