OpenJDK 10이 openjdk-11- *로 패키지 된 이유는 무엇입니까?


70

소스에서 OpenJDK를 컴파일하는 동안 최신 일반 버전 ( OpenJDK 10.0.1 )은 OpenJDK 9 또는 10을 요구합니다. 그러나 JDK 11은 2018 년 9 월까지 출시되지 않습니다 .

그러나 놀랍게도 apt search openjdk결과는 다음과 같습니다.

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

OpenJDK 9 또는 10이 없습니다!

잠깐, OpenJDK 11입니까? 베타 출시일까요? 우우 ...

그래서 나는 보았다 apt show openjdk-11-jdk:

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

OpenJDK 10이 openjdk-11- *로 패키지 된 이유는 무엇입니까?

답변:


62

그 패키지가 릴리스되면 OpenJDK 11이되기 때문입니다. 참조 이 메일 링리스트 게시물 :

우분투 재단 팀을 대신하여 OpenJDK에 대한 SRU 예외를 요청하고 있습니다. 우리의 계획은 Bionic 의 기본 JRE / JDK 1 로 OpenJDK 10을 릴리스 한 다음 기본 JRE / JDK를 2018 년 9 월 / 10 월의 OpenJDK 11로 SRU로 옮기는 것입니다.

= 계획안 =

Bionic은 기본 JRE / JDK로 OpenJDK 10과 함께 출시되며 GA에 도달하면 OpenJDK 11이이를 대체합니다.

...

한 번 릴리스 된 바이오닉의 OpenJDK 11로 전환하려는 경우, 릴리스 시점에 바이오닉의 기본 JRE / JDK로 OpenJDK 8을 피하려고합니다. 또한 JDK의 외부 소비자가 파손될 수 있습니다. 이에 비해 OpenJDK 10과 OpenJDK 11 사이의 인터페이스 델타는 특히 이미 알려진 OpenJDK 8과 OpenJDK 9 사이의 델타와 비교할 때 상당히 작을 것으로 예상됩니다. 그러므로 우리는 OpenJDK 10을 18.04의 기본 JDK로 릴리스하고 릴리스 될 때 OpenJDK 11로 전환해야합니다.

그렇기 때문에의 소스 패키지 openjdk-11-*가 실제로라고도 openjdk-lts합니다.


버그 보고서 가 제출되었습니다-구독하십시오 (추가 할 새로운 정보가없는 경우에는 언급하지 마십시오). 우분투 개발자 인 Jeremy Bicha가 다음과 같이 응답했습니다.

의도는 Ubuntu 18.04 LTS에서 openjdk-11을 11로 업그레이드하는 것입니다. 그렇기 때문에 그 이름을지었습니다. 주요 변경 사항이며 준비하는 데 시간이 걸립니다. 완료 될 것을 요구할 필요가 없습니다.

Ubuntu 18.04 LTS는 OpenJDK 11이 출시되기 몇 달 전에 릴리스되었으므로 Ubuntu 18.04 LTS가 출시되기 전에 OpenJDK 11을 제공 할 수 없었습니다.

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

불편을 드려 죄송합니다.

2018-11-24 : ETA를 요청하지 마십시오. 이 버그를 구독 한 모든 사람에게 이메일을 보내며 버그 수정에 도움이되지 않습니다.

이 버그는 현재 진행 중입니다. openjdk 11.0.1은 18.10에서 업데이트되었으며 18.04 LTS에서 빠르게 처리해야하는 보안 업데이트가있었습니다. 11.0.1은 준비가되면 18.04 LTS가되지만 신중한 조정이 필요한 주요 변경 사항입니다.

2019-02-26 :이 버그는 이미 버그 1814133에서 처리 중이므로 중복으로 표시하고 있습니다. 여기 대신 그 버그에 대해 더 논의해야합니다.


새로운 버그 보고서를 만들 필요가 모든 변경 사항을 추적하기 위해 열렸습니다, 그리고 거기에 많은 이들의 - 버그 보고서에서 140 발췌의 대략적인 수는 :

이 전환은 openjdk-10에서 openjdk-11 로의 openjdk-lts 보안 업데이트입니다. 이로 인해 여러 패키지의 백 포트가 보안 포켓에 백 포트되어야하는 런타임 및 FTBFS 문제가 발생합니다.

패키지는 https://launchpad.net/~openjdk-11-transition 팀의 PPA에서 빌드되고 있습니다. PPA는 보안 포켓에만 의존하며 단계적으로 분리됩니다.

재단과 보안 팀간에 합의 된 절차는 PPA의 패키지가 바이오닉으로 제안 된 바이너리로 복사되고 마이그레이션 문제를 확인하며 보류중인 문제가없는 경우 바이오닉 보안으로 복사된다는 것입니다.

[...]

일부 패키지는 Cosmic에서 업데이트해야 할 수도 있지만 Bionic 전환이 수행 된 후에 수행되는 예외입니다.

또 다른 우분투 개발자 인 Tiago Stürmer Daitx는 다음과 같이 언급했습니다 .

[우리는이 전환의 영향을받는 Java 앱을 업데이트 할 계획입니다.

보다 구체적으로, openjdk-11에서 올바르게 실행되지 않는 패키지는 조사 될 것이며 업데이트 후보입니다. 업데이트가 반드시 최신 버전을 사용한다는 것을 의미하지는 않습니다. openjdk-11에서 작동하도록 변경 사항을 적용하거나 백 포트 할 수 있습니다.

현재 아직 ETA가 없습니다. 전환 팀이 유지 관리하는 다양한 PPA에 상당히 많은 패키지가 업데이트되어 추가되었으므로 테스트에 도움이 필요하면 패키지를 확인하십시오.


2019 년 4 월 17 일 업데이트 :

수정 사항이 릴리스 된 것 같습니다. 이제 apt show openjdk-11-jdk보여줍니다 :

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

그리고 출력 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
이틀 만? 그것은 큰 지연입니까? Oo Canonical에서 수년간 지원하기로 약속 한 패키지입니다. Canonical 구독을 사용하여 더 빠른 릴리스를 요구할 수 있습니다.
muru

5
그러나 출시일을 알면 QA에 필요한 시간이 단축되지는 않습니다. 급한 경우 PPA가 업데이트되었습니다 : launchpad.net/~openjdk-r/+archive/ubuntu/ppa 패키지가 곧 제안 되어 업데이트가 이루어질 것으로 기대합니다.
muru

10
나는 의견을 믿지만 jdk 버전을 효과적으로 잘못 분류하는 것이 올바른 방법인지 알 수 없습니다. 혼란스럽고 조금 부정직합니다. 우리가 선택할 수있는 버전 만 있으면 update-alternatives됩니다. 답변 해 주셔서 감사합니다 @muru
Daniel Hinojosa

10
@muru 이제 거의 한 달이 지났지 만 여전히 큰 지연은 없습니까?
9ilsdx 9rvj 0lo

14
@ 9ilsdx9rvj0lo 누군가가 버그 보고서를 제출했습니다. 계속 지켜보십시오 : bugs.launchpad.net/ubuntu/+source/openjdk-lts/+bug/1796027
muru

5

위의 muru의 답변을 참조하십시오.

그러나 해결 방법으로 openjdk 11을 수동으로 설치하고 업데이트 대안에 추가하여 버전을 전환 할 수 있으며 공식 패키지가 업데이트되면 해당 버전으로 전환 할 수 있습니다. 방법을 보려면 아래를 참조하십시오.

$ 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

/usr/lib/jvm/jdk-11.0.2에서 jdk를 압축 해제합니다.

그런 다음 대안 시스템에 추가하십시오.

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'

대안에서 그것을보십시오

$ 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

작동하는지 확인하십시오

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

다른 질문에 대한 답변이지만, muru의 답변을 훌륭하게 언급했으며 유용하므로 유용 할 것입니다. +1 ;-) AskUbuntu에 오신 것을 환영합니다! :-)
튜더

? 감사합니다, 그래서 새로운 요청해야 "나는이 문제를 해결 어떻게 문제는 다음 대답?

기술적으로는 그렇습니다. 귀하의 답변은 "최신 (비 저장소) 버전의 Java를 어떻게 설치합니까?"라는 질문에 대한 답변입니다. 내 질문은 배포 정치와 그로 인한 혼란에 관한 것입니다. 또한 해당 질문에 대한 답변뿐만 아니라 질문에 대한 점수를 매기고 검색하기 쉬웠을 것입니다. 그런 다음 해당 질문을이 질문에 "관련"으로 연결했습니다. :-)
튜더

다음에 :-) 건배
Karl

대답 인기, 그것은 devzone 기사가되었다 : dzone.com/articles/...~~V하지 않음 대기. 다른 방법으로
Kieveli
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.