Neden OpenJDK 10, openjdk-11- * olarak paketlenmiştir?


70

OpenJDK'yi kaynaktan derlemeye bakarken, en yeni Genel Kullanılabilirlik sürümü ( OpenJDK 10.0.1 ) OpenJDK 9 veya 10'da ısrar ediyor. Ancak JDK 11, Eylül 2018'e kadar piyasaya çıkması nedeniyle değil .

Ancak, sürpriz yaptığım zaman apt search openjdk, sonuç şu:

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

OpenJDK 9 veya 10 yok!

Bekle, bu OpenJDK 11 mi? Belki bir Beta sürümü? Nooo ....

Ben de baktım apt show openjdk-11-jdk:

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

OpenJDK 10 neden openjdk-11- * olarak paketlendi?

Yanıtlar:


62

Bunun nedeni, piyasaya sürüldüğünde bu paketlerin OpenJDK 11 olması. Bu posta listesi gönderisine bakın :

Ubuntu Vakıflar Ekibi adına, OpenJDK için bir SRU istisnası istiyorum. Planımız, OpenJDK 10'u Bionic için varsayılan JRE / JDK 1 olarak piyasaya sürmek ve ardından varsayılan JRE / JDK'yı ana olarak OpenUJDK 11'e Eylül / Ekim 2018'de SRU olarak taşımak.

= Önerilen Plan =

Varsayılan JRE / JDK olarak Bionic OpenJDK 10 ile piyasaya sürülecek ve OpenJDK 11 GA'ya ulaştığında yerini alacak.

...

Serbest bırakıldıktan sonra biyonik olarak OpenJDK 11'e geçeceksek, yayınlanma zamanında Bionic'te varsayılan JRE / JDK olarak OpenJDK 8'den kaçınmak istiyoruz, çünkü 8 ile 11 arasında mevcut olan herhangi bir ek arayüz deltası sadece arşivi kırmakla kalmaz, ayrıca JDK'nın dış tüketicilerini kırılmaya maruz bırakır. Buna karşılık, OpenJDK 10 ve OpenJDK 11 arasındaki arayüz deltasının özellikle küçük olduğunu bilmemiz, özellikle OpenJDK 8 ve OpenJDK 9 arasındaki delta ile karşılaştırıldığında oldukça küçük olması bekleniyor. Bu nedenle OpenJDK 10 ile 18.04'te varsayılan JDK olarak çıkmalı ve piyasaya sürüldüğünde OpenJDK 11'e geçmeliyiz.

Bu yüzden kaynak paketine openjdk-11-*aslında denir openjdk-lts.


Bir hata bildirimi yapıldı - lütfen ona abone olun (ancak eklemek için yeni bilgileriniz olmadıkça yorum yapmayın). Jeremy Bicha adlı bir Ubuntu devi cevap verdi:

Amaç, Ubuntu 18.04 LTS’de openjdk-11’i 11’e yükseltmektir. Bu yüzden bu şekilde seçildi. Bu büyük bir değişimdir ve hazırlığı biraz zaman alacaktır. Yapılması için yapılmasını isteme gereği yoktur.

Ubuntu 18.04 LTS, OpenJDK 11 piyasaya sürülmeden birkaç ay önce piyasaya sürüldü, böylece Ubuntu 18.04 LTS piyasaya sürülmeden önce OpenJDK 11 sağlamak mümkün değildi.

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

Rahatsızlıktan dolayı özür dileriz.

2018-11-24: Lütfen bir ETA istemeyin. Bu, bu hataya abone olan herkese bir e-posta gönderir ve hatayı gidermeye yardımcı olmaz.

Bu hata üzerinde çalışılmaktadır. openjdk 11.0.1 18.10'da güncellendi ve 18.04 LTS'de hızlı bir şekilde ele alınması gereken bir güvenlik güncellemesi vardı. 11.0.1 hazır olduğunda 18.04 LTS'ye gelecektir, ancak dikkatli bir koordinasyon gerektiren önemli bir değişikliktir.

2019-02-26: Bu hata 1814133 numaralı hatada zaten işleniyor, bu nedenle yinelenen olarak işaretliyorum. Buraya bunun yerine bunun yerine daha fazla tartışma yapılmalı.


Bir yeni hata raporu yapılması gereken tüm değişiklikleri izlemek için açılmış ve orada çok onları - böcek raporundan 140. alıntılar kaba sayımı:

Bu geçiş, openjdk-lts'in openjdk-10'dan openjdk-11'e kadar olan bir güvenlik güncellemesidir. Bu, birden fazla paketin geri gönderilmesini gerektiren çalışma zamanı ve FTBFS sorunlarını da güvenlik cebine getirir.

Paketler, https://launchpad.net/~openjdk-11-transition ekibinin altındaki PPA'lar üzerine kuruluyor . PPA'lar yalnızca güvenlik cebine dayanır ve aşamalar halinde ayrılır.

Vakıflar ve güvenlik ekibi arasında kararlaştırılan süreç, PPA'lardaki paketlerin ikili olarak biyonik olarak önerilebilecek, göç sorunları için kontrol edilecek ve - beklemekte olan hiçbir sorun olmadan - biyonik güvenliğe kopyalanacaklarıdır.

[...]

Cosmic'te de birkaç paketin güncellenmesi gerekebilir, ancak Biyonik geçişi tamamlandıktan sonra yapılacak bir istisna olarak.

Bir diğer Ubuntu devi , Tiago Stürmer Daitx şunları kaydetti :

[Biz], bu geçişten etkilenen java uygulamalarını güncellemeyi planlıyoruz.

Daha açık olmak gerekirse, openjdk-11 ile doğru şekilde çalışamayan herhangi bir paket araştırılacak ve güncelleme için aday olacaktır. Güncelleme mutlaka en son sürümü kullanacağımız anlamına gelmez: basitçe openjdk-11 altında çalışmalarına izin veren değişiklikleri uygulayabilir veya geri alabiliriz.

Halen hala ETA yok. Oldukça az sayıda paket güncellendi ve geçiş ekibinin sahip olduğu çeşitli PPA'lara eklendi. Bu nedenle, testlerde yardımcı olmak isterseniz, bunları kontrol edin.


17 Nisan 2019 tarihli güncelleme:

Düzeltmenin yapıldığı anlaşılıyor. Şimdi apt show openjdk-11-jdkgösterir:

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

Ve çıktısı java -version:

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)

6
Sadece iki gün? Bu büyük bir gecikme mi? O Canon bu Canonical'in yıllarca desteklemeyi taahhüt ettiği bir pakettir. Canonical aboneliğinizi daha hızlı sürümler talep etmek için kullanabildiğinize eminim.
muru

5
Çıkış tarihini bilmek QA için gereken süreyi kısaltmıyor. Aceleniz varsa, PPA güncellendi: launchpad.net/~openjdk-r/+archive/ubuntu/ppa Paketlerin kısa süre içinde ve oradan da güncellemeler için teklifte bulunmalarını bekliyorum.
muru

10
Yoruma inanıyorum, ancak bir jdk sürümünü nasıl yanlış sınıflandırdıklarını görmenin doğru bir şey olduğunu göremiyorum. Kafa karıştırıcı ve ben söyleyeceğim, biraz dürüst olmayan. Sadece aralarından seçim yapabileceğimiz sürümleri var ve biz de kendimiz yapabiliriz update-alternatives. Cevabınız için teşekkürler @muru
Daniel Hinojosa

10
@muru şimdi neredeyse bir ay, hala büyük bir gecikme değil mi?
9ilsdx 9rvj 0lo 23:18

14
@ 9ilsdx9rvj0lo birisi bir hata bildirimi yaptı, göz kulak olun: bugs.launchpad.net/ubuntu/+source/openjdk-lts/+bug/1796027
muru

5

Muru'nun cevabını yukarıda görün,

ancak etrafınızdaki bir çalışma için openjdk 11'i manuel olarak kurabilir ve güncelleme alternatiflerine ekleyebilir, böylece sürümleri değiştirebilir ve resmi paket güncellendiğinde buna geçebilirsiniz. nasıl olduğunu görmek için aşağıya bakın:

$ 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

Bu, / usr/lib/jvm/jdk-11.0.2 altındaki jdk dosyasını açar.

sonra onu alternatif sisteme ekleyin

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'

alternatiflerde görmek

$ 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

çalıştığını kontrol et

$ 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)

Farklı bir soruyu yanıtlar, ancak çok güzel bir şekilde muru cevabına atıfta bulunduğunuzdan ve faydalı olduğundan, ben onu alıyorum. +1 ;-) AskUbuntu'ya Hoşgeldiniz! :-)
tudor

? teşekkürler, bu yüzden yeni sormalıydım "Bu geçici bir çözüm nasıl soru o zaman cevap?
Karl

Teknik olarak evet. Cevabınız "Java'nın en yeni (depo olmayan) sürümünü nasıl yüklerim?" Sorusunun cevabıdır. benim sorum daha çok dağıtım politikası ve ortaya çıkan karışıklık hakkında. Buna ek olarak, bu soru için yanı sıra soru noktaları puan olurdu ve arama daha kolay olurdu. Daha sonra bu soruyu bu soruyla "ilgili" olarak ilişkilendirdik. :-)
tudor

sefere :-) şerefe
Karl

Çok popüler bir cevap, bir yazım hatası haline geldi: dzone.com/articles/… Bekleme. Etrafında başka bir yol
Kieveli
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.