14.04 LTS에 OpenJDK 8을 설치하는 방법?


306

Java 8은 이제 http://openjdk.java.net/projects/jdk8/ 에 따라 사용 가능 하지만 http://openjdk.java.net/install/ 에는 아직 Oracle Java가 아닌 OpenJDK 8을 설치하는 방법이 언급되어 있지 않습니다. 우분투 14.04 장기 지원. (14.10 이후 버전 만 실행 apt-get install openjdk-8-jdk)

언제 어떻게이 일을 할 수 있습니까?

(2017년 8월 8일 : 매우 짧은 대답은 : 오픈 JDK 8 우분투 14.04에 대한 APT 패키지와 공식 저장소에서 공식적으로 사용할 수 없습니다 2017년 8월 8일의로. 이 대답 전체 요약을 참조하십시오 )

참고 : 지금 우리는 Oracle Java를 사용할 것입니다. 그러나 Oracle Java가 Ubuntu 리포지토리에서 직접적이고 쉽게 이용할 수있을 때까지 Ubuntu 리포지토리의 OpenJDK가 최적의 솔루션입니다.



1
직접 컴파일해야합니다. 방법은 다음과 같습니다. github.com/hgomez/obuildfactory/wiki/… 파일명을 버전 8과 일치하도록 변경 ;-)
Rinzwind

2
Azul은 "Zulu"라는 이름으로 OpenJDK 빌드를 제공하기 시작했습니다. "Zulu"는 자동으로 다운로드, 포장 풀기 및 사용할 수 있습니다. (그들은 지원으로 돈을 벌 수 있습니다). azulsystems.com/products/zulu/downloads
Thorbjørn Ravn Andersen

1
특히 신뢰할 수있는 apt-fast가 호스팅되는 것과 동일한 ppa ppa:saiarcot895/myppa가 작동하는 openjdk-8 버전을 가지고 있습니다. 어깨를 으
ThorSummoner

시간이 지남에 따라 가장 간단한 솔루션은 가능한 경우 16.04 LTS를 업그레이드하는 것 같습니다.
Thorbjørn Ravn Andersen 님

답변:


277

이 작업을 수행 할 수 있습니다.

최종 업데이트

JDK

sudo apt-get install openjdk-8-jdk

JRE

sudo apt-get install openjdk-8-jre

이전 업데이트

두 개의 저장소를 찾았지만 권장하지 않습니다

  • OpenJDK 빌드 (모든 아치)

    ppa:openjdk-r/ppa
  • 신뢰할 수있는 OpenJDK 8 백 포트

    ppa:jochenkemnade/openjdk-8

원본 메시지

OpenJDK를 실제로 사용하려면 소스 에서 컴파일 해야합니다 . OpenJDK에 대한 PPA는 아직 없습니다.

https://bugs.launchpad.net/ubuntu/+bug/1297065 에서 요청되었습니다.

Webup8 Oracle Java8 Installer 를 사용하는 것이 좋습니다.

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer

Java 8 환경 변수를 자동으로 설정하려면

sudo apt-get install oracle-java8-set-default

확인해 봐

java -version

따라서 OpenJDK8을 사용하기 위해 기다려야합니다.


8
@ JohnMerlino 내 생각에 PPA는 새 버전이 출시 될 때 자동 업데이트를 허용한다고 생각합니다.
Thorbjørn Ravn Andersen 2016

7
openjdk-8이 이제 Utopic에 있습니다. bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1341628는 이 LTS 그대로 14.04에 백 포트에 제기되었습니다 :
Thorbjørn Ravn 안데르센

56
새로운 편집이 필요한 이유 아직 14.04 레포에없는 것 같고 sudo apt-get install openjdk-8-jdk적어도 나를 위해 작동하지 않습니다.
xji

17
OpenJDK 8이 아직 백 포트에 도착하지 않았기 때문에 2016-01-11 현재 비공식 우분투 PPA가 여전히 필요합니다. 나는 이것이 다른 사람들처럼 보이지만 내 질문에 대한 답변이라고 생각하지 않습니다.
Thorbjørn Ravn Andersen

8
이 답변은 불완전하기 때문에 오해의 소지가 있습니다. PPA는 권장하지 않지만 PPA가 없으면 작동하지 않습니다.
Reinier Post

176
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac

7
이 저장소는 날짜가 있습니다. 오늘 현재 최신 openjdk 1.8 릴리스는 66입니다.이 저장소에서 사용 가능한 버전은 45입니다.
mattm

가져 오지 못했습니다 ppa.launchpad.net/openjdk-r/ppa/ubuntu/pool/main/o/openjdk-8/... (502)는 apt-cacher을 : libcurl에 오류 : 실패 피어로부터 데이터를 수신 할 때
인 Rajesh Hatwar

1
올바른 최소 단계입니다. 4와 5는 선택 사항이며 필요하지 않을 수도 있습니다.
Air

우분투 14.04에서 작동하지 않음E: Package 'openjdk-8-jdk' has no installation candidate
Naive

Jenkins를 업그레이드 할 때 나에게 도움이되었습니다 (새로운 버전은 Java8이 필요했으며 시스템에는 Java7 만 설치되었습니다). 네 번째 라인은 Jenkins가 올바르게 동작하도록하는 데 중요했습니다. 그것을 실행할 때까지 계속 얻었습니다 Jenkins requires Java8 or later, but you are running 1.7.0_121-b00 from /usr/lib/jvm/java-7-openjdk-amd64/jre. 공감대를 가지십시오. 가능하면 더 많이 줄 것입니다.
Doktor J

62

OpenJDK 8은 2014 년 3 월에 릴리스되었습니다.이 질문 당시, Ubuntu 릴리스의 공식 Ubuntu 리포지토리에는 OpenJDK 8 패키지가 없습니다. 는 AS 그들은 "곧 출시 될 것" JDK 8 프로젝트 페이지는 곧 몇 가지 정의를 말한다.

먼저 OpenJDK 8 패키지는 Ubuntu 개발 릴리스에 포함됩니다. 이것은 14.10 개발주기 동안 발생할 수 있지만 내가 아는 한 정해진 일정이 없습니다. 일부 미리보기 패키지가 빌드되어 테스트 할 수 있습니다. debian-java 및 Ubuntu openjdk 메일 링리스트 의 공지를 참조하십시오 . 언젠가이 패키지는 데비안 및 우분투 개발 저장소에 업로드됩니다.

OpenJDK 8이 Ubuntu 개발 버전에 있으면 14.04로 백 포트하도록 요청할 수 있습니다. 기본 trusty리포지토리 에서 사용할 수는 없지만 사용하는 경우 trusty-backports어느 시점에서 설치할 수 있습니다. 우분투 에서 백 포트를 요청하는 프로세스에 대해서는 여기를 참조하십시오 .


4
나는 당신이 원하는 것처럼 보이는 제약으로 "어떻게 언제"질문에 대답하려고 노력했다 : 공식 저장소에 있어야하고, OpenJDK 여야하고, 14.04 LTS 릴리즈 여야한다.
Mike Miller

30
2016 년 2 월이며 Java 8은 Ubuntu 14.04 LTS에서 계속 사용할 수 없습니다. 실망입니다.
Bhavin Doshi

2
2016 년 4 월인데 여전히 Java 8이 없습니다.
Stephan Henningsen

3
Ubuntu 16.04는 2016 년 4 월에 출시되며 OpenJDK 8이 제공 됩니다.
Mike Miller

8
2016 년 9 월이며 Ubuntu 14.04 LTS는 2019 년까지 계속 지원되며 대규모 변경 (예 : 시스템화)으로 인해 많은 장소에서 16.04를 채택하는 데 오랜 시간이 걸리므로 여전히 실망 스럽습니다 .Java 8은 쉽지 않습니다. 14.04에 apt를 통해 설치 :(
geerlingguy

34

주 – 이것은 14.10 이상 에서만 작동합니다 .

1 년 늦었지만 오늘날과 마찬가지로 apt-get에서 예상대로 작동합니다.

JDK 설치의 경우 :

$ sudo apt-get install openjdk-8-jdk

JRE 설치의 경우 :

$ sudo apt-get install openjdk-8-jre

기본 JDK를 설정하는 방법

가장 빠른 방법

$ sudo update-alternatives --config javaJDK가 선택한 번호를 실행 하고 입력하십시오.

두 번째 방법

사용 가능한 JDK를 나열하십시오.

$ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

이제 Open JDK 8의 위치를 ​​복사하여 붙여 넣으면 아래 명령과 일치합니다.

$ sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64

3
sudo apt-get 업데이트 후에도 여전히 Linux 14.04에서 JDK 6 및 7 만 openjdk-8-jdk가 표시되지 않습니다. 특별한 저장소를 추가 했습니까? 신뢰할 수있는 백 포트가 활성화되었습니다.
akauppi

2
14.10 또는 15.04를 실행하고 있다고 생각하십니까?
akauppi

1
14.04 LTS에서는 재생할 수 없습니다. 이 버전인지 확인하십시오.
Thorbjørn Ravn Andersen

1
@akauppi 당신이 맞아요! 14.10을 실행 중입니다. 불편을 드려 죄송합니다. 답변을 삭제해야하나요?
caraca

1
14.04 대신 14.10을 사용하는 것이 완벽하게 좋은 대안 일 수 있습니다.
akauppi

22

Ubuntu 14.04 LTS에서 Oracle Java 7 및 Java 8 [참고 : OpenJDK 아님]을 처음부터 설정하는 데 사용하는 내용은 다음과 같습니다.

apt-get -y -q update
apt-get -y -q upgrade
apt-get -y -q install software-properties-common htop
add-apt-repository ppa:webupd8team/java
apt-get -y -q update
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
apt-get -y -q install oracle-java8-installer
apt-get -y -q install oracle-java7-installer
update-java-alternatives -s java-8-oracle

이것은 무인이며 Vagrant provision block에 포함하기에 적합합니다. 자세한 내용이있는 요지가 있습니다 : https://gist.github.com/tinkerware/cf0c47bb69bf42c2d740

편집 : 이것은 JDK에 대한 Oracle의 라이센스를 자동으로 수락합니다. 실행하기 전에 먼저 확인하십시오.


1
좋아 보인다 그러나 루트 액세스 권한을 얻는 부분이 없습니다. 여전히 좋은 대답입니다.
MadMike

1
권리; Vagrant와 함께 이것을 사용하여 vagrant사용자를 passwordless로 설정 합니다 sudo.
Cagatay

5
이것은 OpenJDK Java가 아닌 Oracle Java 입니다. 또한 에코 라인은 설치 프로그램의 라이센스 승인 질문을 둘러 쌉니다.
Thorbjørn Ravn Andersen

3
@ ThorbjørnRavnAndersen 예, 저는 OpenJDK에 관한 질문을 보았습니다. 필자는 구체적으로 Oracle Java를 설치하는 방법이라고 말했습니다. 당신은 이것이 관련이 없다고 주장 할 수도 있지만 14.04 LTS에서 Java 7/8을 실행할 수있는 런타임을 얻는 대안을 지적하는 것이 가치 있다고 생각합니다. 라이센스 승인 질문의 "우회"는 흥미로운 단어 선택입니다. 스크립트를 실행하기 전에 Oracle 라이센스를 읽어야하므로 설치 중에 자동으로 수락됩니다.
Cagatay

3
감사합니다 @Cagatay !! 이 답변은 저에게 매우 유용했습니다. Vagrant를 사용하여 Java 8 설치를 찾고있었습니다.
Sotsir

14

2017-08-08 현재이 질문과 그 답변이 문제를 이해하기 위해 약간 압도적 인 것으로 나타 났으 므로이 답변의 결과를 요약했습니다.

아주 짧은 대답은 2017-08-08 현재 OpenJDK 8을 공식적으로 Ubuntu 14.04에서 사용할 수 없다는 것 입니다.

그러나 사용 가능한 많은 옵션이 있습니다.

  • 최신 버전의 Ubuntu로 업그레이드하십시오. OpenJDK 8은 14.10부터 사용할 수 있습니다. (16.04 LTS부터 OpenJDK 9, 18.04 LTS부터 OpenJDK 11)
  • http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 에서 Oracle Java (OpenJDK가 아님)를 tar.gz 파일로 수동으로 다운로드하여 설치 하십시오.bin 디렉토리가 $PATH변수에 추가 되기 전에 승인 된 라이센스 . 타사 PPA를 사용하도록 선택할 수도 있습니다. Oracle Java는 가까운 미래에 고객에게만 지불하는 것으로 보입니다 (Java 11 부근).
  • 타사 PPA를 사용하여 OpenJDK 8을 다운로드하십시오.
  • http://www.azul.com/downloads/zulu/zulu-linux/ (DEB) 에서 OpenJDK 8의 Azul 인증 빌드를 다운로드 하십시오.
  • 소스를 컴파일하고 직접 설치하십시오.

자세한 내용은 다른 답변을 참조하십시오.

개인 패키지 아카이브 (PPA)는 일반적으로 개인이 자발적으로 작성합니다. 내용이 오래되었거나 경고없이 사라질 수 있습니다.

개인적으로 우분투를 18.04 LTS로 업그레이드하거나 가능하지 않은 경우 Azul 빌드를 다운로드하는 것이 좋습니다.


참고 : 여전히 14.04로 백 포트 된 OpenJDK 8이 필요한 경우 로그인 한 후 맨 위의 "이것이 사용자에게 영향을 미칩니 까?"를 클릭하여이 버그에 투표 하십시오 . https://bugs.launchpad.net/ubuntu/+source/openjdk-8/ + 버그 / 1368094


5

참고 2016 년 4 월 22 일부터 Vivid 패키지가 제거되었습니다. packages.ubuntu.com의 뉴스 항목 : "xenial 릴리스를 반영하고 yakkety 추가, 생생한 제거" 이 답변의 해결 방법은 영리하지만 현재 상황에서는 더 이상 적용 할 수 없습니다. 2017 년 1 월 6 일 현재 trusty packages.ubuntu.com/trusty-backports/java에는 Java 8에 대한 백 포트가 없습니다. 변경 사항이 적용되면 수정하십시오.


안드로이드 공식 사이트의 답변을 참조하십시오

https://source.android.com/source/initializing.html

Ubuntu 14.04에 지원되는 OpenJDK 8 패키지가 없습니다. Ubuntu 15.04 OpenJDK 8 패키지는 Ubuntu 14.04와 함께 성공적으로 사용되었습니다. 최신 패키지 버전 (예 : 15.10, 16.04 용)은 아래 지침에 따라 14.04에서 작동하지 않는 것으로 나타났습니다.

http://packages.ubuntu.com/vivid/openjdk-8-jdk 에서 아키텍처에 대한 .deb 패키지를 다운로드 하십시오 .
openjdk-8-jre-headless
openjdk-8-jre
openjdk-8-jdk

다음을 사용하여 머신 아키텍처를 얻을 수 있습니다.

$ uname -m    

x86_64는 64 비트 (amd64) Linux 커널 아키텍처를 나타내고 i386 / i486 / i586 / i686은 32 비트 (i386) 시스템을 나타냅니다.

선택적으로 http://packages.ubuntu.com/vivid/openjdk-8-jdk 에있는 정보를 사용하여 다운로드 한 파일의 체크섬을 확인 하십시오 .

예를 들어 sha256sum 도구를 사용하십시오.

$ sha256sum {package file}    

패키지를 설치하십시오 :

$ sudo apt-get update    

다운로드 한 각 .deb 파일에 대해 dpkg를 실행하십시오. 종속성 누락으로 인해 오류가 발생할 수 있습니다.

$ sudo dpkg -i {downloaded.deb file}    

누락 된 종속성을 수정하려면 다음을 수행하십시오.

$ sudo apt-get -f install    

4

난 그냥 투표 않았다 여기 그리고 지금 우리는 우리가 우분투 14.04에 오픈 JDK-8 백 포팅에 대한 상관이야 733명이다.

이 PPA 리포지토리 가 최신 버전이라는 것을 알았습니다.

그리고 희망적으로 유망한!?

그리고 그것은 나를 위해 일했습니다. 다음 명령으로 ubuntu-14.04에 openjdk-8-jdk를 성공적으로 설치했습니다.

sudo add-apt-repository ppa:jonathonf/openjdk
sudo apt-get update
sudo apt-get install openjdk-8-jdk

그리고 여기 내 java -version출력이 있습니다 :

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~14.04.york0-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

그리고 여기 내 uname -a출력이 있습니다 :

Linux mars1 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

그리고 여기 내 lsb_release -a출력이 있습니다 :

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty

내 가상 호스트 서버 공급자는 Ubuntu-14.04 만 지원한다고 말하고 2019 년까지 계속 이렇게하고 싶다고 생각합니다! ubuntu-14.04에서 openjdk-8을 사용하는 더 좋은 방법을 알고 있다면 알려주십시오.

감사!


Azul Zulu를 사용하는 것이 좋습니다. azul.com/downloads/zulu
Thorbjørn Ravn Andersen

나는 또한 그것을 작동시키기 위해 다음을 실행해야했다. sudo update-java-alternatives --jre --set java-1.8.0-openjdk-amd64그리고sudo update-java-alternatives --jre-headless --set java-1.8.0-openjdk-amd64
champost

2

Nix 패키지 관리자는 Ubuntu 용 OpenJDK 8 바이너리 패키지도 유지하므로 5 분 이내에 작동하는 Java 8 컴파일러를 완료 할 수 있습니다 (물론 빠른 인터넷 연결).

단계는 다음과 같습니다.

  1. Nix 패키지 관리자를 설치하십시오 ( https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/ ) :$ bash <(curl https://nixos.org/nix/install)

  2. 설치가 끝나면 쉘 한 줄짜리 Nix가 알려줍니다 : $ . ~/.nix-profile/etc/profile.d/nix.sh

  3. OpenJDK Nix 패키지를 설치하십시오 : $ nix-env -i openjdk

  4. 확인 javac:$ javac -version

그게 다야. 아, 그리고 2 단계의 원 라이너를에 넣으십시오 ~/.bashrc. 그러면 실제 파일이 비표준 디렉토리에 유지되므로 Nix에 설치된 패키지를 올바르게 연결해야합니다.


1
호기심에서-왜 apt-get 이외의 추가 패키지 관리자를 원하십니까?
Thorbjørn Ravn Andersen

2
@ ThorbjørnRavnAndersen-구체적인 이유는 최소한의 고통으로 OpenJDK 8을 빠르게 얻는 것입니다. 일반적인 이유는 Nix가 apt-get 및 기타 구형 패키지 관리자보다 혁신적인 개선이기 때문입니다.
Yawar

OpenJDK가 아닌 일반적인 경우를 묻습니다. 기존 에코 시스템을 사용하지 않는 것보다 새로운 패키지 관리자를 도입해야하는 데에는 상당한 이유가 있어야합니다.
Thorbjørn Ravn Andersen

1
@ ThorbjørnRavnAndersen-일반적인 경우 Nix를 권장해야 할 이유가 아주 많습니다. 내가 언급했듯이, 그것은 혁신적인 개선입니다. svn에 대한 git의 규모. 자세한 내용은 infoq.com/articles/configuration-management-with-nix 를 확인하십시오 .
Yawar

2

임의의 PPA가 아닌 공식 데비안 저장소에서 OpenJDK 8을 받고 있습니다. 내가 한 방법은 다음과 같습니다.

sudo apt-get install debian-keyring debian-archive-keyring

확인 /etc/apt/sources.list.d/debian-jessie-backports.list:

deb http://<httpredir>.debian.org/debian/ jessie-backports main

<httpredir>니어 미러 접두어로 변경 하는 위치 ( https://www.debian.org/mirror/list 참조 )

확인 /etc/apt/preferences.d/debian-jessie-backports:

Package: *
Pin: release o=Debian,a=jessie-backports
Pin-Priority: -200

그런 다음 마지막으로 설치를 수행하십시오.

sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk

이 답변은 저에게 효과적이지 않습니다. openjdk-8-jdk원하는 openjdk-8-jre것을 원한다 libjpeg62-turbo. apt후자 에 따르면 "설치할 수 없음"이거나 더 자세하게 "사용할 수 없지만 다른 패키지에 의해 참조됩니다. 이는 패키지가 누락되었거나 더 이상 사용되지 않거나 다른 소스에서만 사용할 수 있음"을 의미 할 수 있습니다. 내가 가진 저장소에서. 추격이 현명하기에는 너무 넓어졌습니다
XavierStuvw

1

실제로 소스에서 직접 Java 8을 직접 빌드하는 것도 쉽습니다 ... 무서운 소리? http://blog2.vorburger.ch/2014/06/build-에 설명 된 것처럼 https://github.com/hgomez/obuildfactory/를 사용하면 실제로는 매우 쉽고 쉽고 문자 그대로 약 15 분이 걸립니다. your-own-jdk-at-home.html


1
건물은 하나입니다. TCK는 어떻습니까?
Thorbjørn Ravn Andersen

1
@ ThatbjørnRavnAndersen 나는 모른다. 개별 최종 사용자에게 자체 구축은 이미 유용한 IMHO입니다. 실제로 철저히 테스트 된 패키지를 준비하는 데 대한 이야기는 아마도 또 다른 이야기 일 것입니다. 방금 둘러보고 openjdk.java.net/groups/conformance/JckAccess를 찾았 습니다 .
vorburger

1

2016 년 3 월 11 일에 업데이트하고 루트로 실행하십시오.

apt-get update
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DA1A4A13543B466853BAF164EB9B1D8886F44E2A
touch /etc/apt/sources.list.d/openjdk.list
echo "deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main " >>/etc/apt/sources.list.d/openjdk.list
echo "deb-src http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main" >>/etc/apt/sources.list.d/openjdk.list
apt-get update
apt-get -y install openjdk-8-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
echo "$JAVA_HOME"

2
첫 번째 줄은 필요하지 않습니다. 다음 4 줄은와 같습니다 add-apt-repository ppa:openjdk-r/ppa. 이 답변은 이전 답변과 중복됩니다.
Paul Stelian

1
요약하면 (2017-05-02 기준) 이것이 저에게 효과적입니다. sudo add-apt-repository -y ppa:openjdk-r/ppa; sudo apt-get update; sudo apt-get install -y openjdk-8-jdk
Tzunghsing David Wong
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.