Pourquoi OpenJDK 10 est-il présenté sous le nom openjdk-11- *?

70

Tout en cherchant à compiler OpenJDK à partir des sources, la dernière version à disponibilité générale ( OpenJDK 10.0.1 ) insiste sur OpenJDK 9 ou 10. JDK 11 ne sera toutefois pas disponible avant septembre 2018 .

Cependant, à ma grande surprise, apt search openjdkle résultat obtenu est le suivant:

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

Pas d'OpenJDK 9 ou 10!

Et attendez, est-ce OpenJDK 11? Peut-être une version bêta? 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-il été empaqueté comme openjdk-11- * ??

tudor
la source

Réponses:

62

En effet, ces packages deviendront OpenJDK 11 lorsqu’ils seront publiés. Voir cet article de la liste de diffusion :

Au nom de l'équipe des fondations Ubuntu, je demande une exception SRU pour OpenJDK. Notre plan est de publier OpenJDK 10 en tant que JRE / JDK 1 par défaut pour Bionic, puis de déplacer le JRE / JDK par défaut dans main vers OpenJDK 11 en septembre / octobre 2018 en tant que SRU.

= Plan proposé =

Bionic sera publié avec OpenJDK 10 en tant que JRE / JDK par défaut et OpenJDK 11 le remplacera une fois qu’il aura atteint GA.

...

Si nous devons passer à OpenJDK 11 dans bionic une fois publié, nous voulons éviter OpenJDK 8 en tant que JRE / JDK par défaut dans Bionic au moment de la publication car tout delta d'interface supplémentaire existant entre 8 et 11 non seulement expose l'archive à une rupture, il expose également les consommateurs externes du JDK à la casse. En comparaison, le delta d'interface entre OpenJDK 10 et OpenJDK 11 devrait être assez faible, en particulier si on le compare au delta entre OpenJDK 8 et OpenJDK 9 déjà connu. Nous devons donc publier OpenJDK 10 en tant que JDK par défaut dans 18.04 et passer à OpenJDK 11 lorsqu’il sera publié.

C'est aussi pourquoi le paquet source de openjdk-11-*est appelé 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). Jeremy Bicha, un développeur d'Ubuntu, a répondu:

Le but est de mettre à jour openjdk-11 à 11 dans Ubuntu 18.04 LTS. C'est pourquoi il a été nommé de cette façon. C'est un changement majeur et il faudra un certain temps pour s'y préparer. Il n’est pas nécessaire de demander que cela soit fait puisque cela sera fait.

Ubuntu 18.04 LTS a été publié plusieurs mois avant OpenJDK 11, il était donc impossible de fournir OpenJDK 11 avant Ubuntu 18.04 LTS.

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 d'ETA. Cela envoie un courrier électronique à tous les abonnés à ce bogue et ne résout pas le problème.

Ce bogue est en cours de traitement. openjdk 11.0.1 a été mis à jour en 18.10 et une mise à jour de sécurité devait être traitée rapidement dans 18.04 LTS. 11.0.1 arrivera à 18.04 LTS quand il sera prêt, mais c’est un 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. Une discussion plus approfondie devrait avoir lieu sur ce bogue au lieu d’ici.


Un nouveau rapport de bogue a été ouvert pour suivre toutes les modifications à apporter. Il y en a beaucoup - un total approximatif de 140. Extraits du rapport de bogue:

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

Les packages sont construits sur des PPA sous l’ équipe https://launchpad.net/~openjdk-11-transition . Les AAE 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 packages dans les PPA soient copiés binaire dans les problèmes proposés par bionic, vérifiés pour la migration, et - aucun problème en attente - dans Bionic-security.

[...]

Quelques paquets devront peut-être aussi être mis à jour dans Cosmic, mais à titre exceptionnel, cela sera fait après que la transition bionique aura été finalisée.

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

[Nous] prévoyons de mettre à jour les applications Java touchées par cette transition.

Pour être plus précis, tout paquet qui ne fonctionne pas correctement avec openjdk-11 sera examiné et pourra faire l’objet d’une mise à jour. La mise à jour n'implique pas nécessairement que nous utilisions la dernière version: nous pourrions simplement appliquer ou sauvegarder des modifications qui leur permettent de fonctionner sous openjdk-11.

Toujours pas d'ETA à l'heure actuelle. De nombreux packages ont été mis à jour et ajoutés aux divers PPA gérés par l'équipe de transition. Si vous souhaitez participer aux tests, vérifiez-les.


Mise à jour du 17 avril 2019:

Il semble que ce correctif ait été publié. apt show openjdk-11-jdkMontre maintenant :

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

Et le résultat de java -versionest:

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)
muru
la source
6
Seulement deux jours? C'est un retard énorme? Oo Il s'agit d'un package que Canonical s'engage à prendre en charge depuis des années. Je suis sûr que vous pouvez utiliser votre abonnement Canonical pour exiger des versions plus rapides.
Muru
5
Connaître la date de publication ne raccourcit toutefois pas le temps requis pour l'AQ. Si vous êtes pressé, le PPA a été mis à jour: launchpad.net/~openjdk-r/+archive/ubuntu/ppa Je m'attends à ce que les paquetages soient proposés sous peu, et de là aux mises à jour.
muru
10
Je crois que le commentaire, mais je ne vois pas comment ils mal classer correctement une version de jdk est une bonne chose à faire. C'est déroutant et je vais le dire, un peu malhonnête. Nous avons juste le choix des versions et nous pouvons faire les nôtres update-alternatives. Merci @muru pour votre réponse
Daniel Hinojosa le
10
@muru maintenant c'est presque un mois, toujours pas un grand retard?
9ilsdx 9rvj 0lo
14
@ 9ilsdx9rvj0lo quelqu'un a déposé un rapport de bogue, gardez un œil dessus: bugs.launchpad.net/ubuntu/+source/openjdk-lts/+bug/1796027
muru
5

Voir la réponse de muru ci-dessus,

mais pour contourner le problème, vous pouvez installer openjdk 11 manuellement et l’ajouter aux alternatives de mise à jour afin de pouvoir changer de version. Lorsque le paquet officiel est mis à jour, vous pouvez passer à cela. 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'

le 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érifier cela 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)
Karl
la source
Répondez à une question différente, mais puisque vous avez si joliment évoqué la réponse de Muru et qu'elle est utile, je vais le prendre. +1 ;-) Bienvenue sur AskUbuntu! :-)
mardi
merci, aurais-je donc dû poser la nouvelle question "comment puis-je contourner ce problème? y répondre ensuite?"
Karl
Techniquement oui. Votre réponse est une réponse à la question "Comment installer la dernière version de Java (sans référentiel)?" alors que ma question concerne davantage la politique de distribution et la confusion qui en a résulté. En outre, vous auriez marqué des points de question ainsi que des points de réponse pour cette question et il aurait été plus facile de chercher. Puis lié cette question à cette question en tant que "lié". :-)
mardi
la prochaine fois :-) A bientôt
Karl
Une réponse si populaire qu'il est devenu un article de devzone : dzone.com/articles/… No wait. L'inverse
Kieveli