OpenJDK 8'i 14.04 LTS'ye nasıl kurarım?


306

Java 8 şimdi http://openjdk.java.net/projects/jdk8/ uyarınca kullanıma sunuluyor , ancak http://openjdk.java.net/install/ , OpenJDK 8’in (Oracle Java’ya değil) nasıl yükleneceğinden bahsetmiyor. Ubuntu 14.04 Uzun Süreli Destek. (14.10 ve sonrası için sadece koş apt-get install openjdk-8-jdk)

Bu nasıl ve ne zaman yapılabilir?

(2017-08-08: Çok kısa cevap: 2017-08-08 itibariyle OpenJDK 8 resmi depolardan resmi bir şekilde Ubuntu 14.04 için APT paketi olarak kullanılamaz. Bu cevabın tam özetine bakın )

Not: Şimdilik Oracle Java kullanacağız - benim için en uygun çözüm, Ubuntu depolarından Oracle Java doğrudan ve zahmetsizce erişilinceye kadar Ubuntu depolarından OpenJDK.



1
Kendin derlemelisin. İşte nasıl: github.com/hgomez/obuildfactory/wiki/… Dosya
adını

2
Azul, otomatik olarak indirilebilen, açılabilen ve kullanılabilen "Zulu" adı altında OpenJDK yapıları sağlamaya başladı. (Paralarını destekten kazanırlar). azulsystems.com/products/zulu/downloads
Thorbjørn Ravn Andersen

1
Dikkat çekecek şekilde, güvenmek için apt-fast'un barındırıldığı aynı ppa ppa:saiarcot895/myppa, çalışan bir openjdk-8 versiyonuna sahip. omuz silkme
ThorSummoner

Zaman geçtikçe, en basit çözümün uygun olduğunda 16.04 LTS'yi seçmek olduğu görünüyor.
Thorbjørn Ravn Andersen

Yanıtlar:


277

Bunu için yapabilirsiniz;

Son Güncelleme

JDK

sudo apt-get install openjdk-8-jdk

JRE

sudo apt-get install openjdk-8-jre

Eski Güncelleme

İki depo buldum ama tavsiye etmiyorum

  • OpenJDK oluşturur (tüm kemerlerde)

    ppa:openjdk-r/ppa
  • Güvenilirlik için OpenJDK 8 backport

    ppa:jochenkemnade/openjdk-8

Orijinal mesaj

Gerçekten OpenJDK kullanmak istiyorsanız , kaynaktan derlemelisiniz . OpenJDK için hala herhangi bir PPA yoktur.

Https://bugs.launchpad.net/ubuntu/+bug/1297065 adresinden talep edildi

Webup8 Oracle Java8 Installer kullanmanızı öneririz

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

Java 8 ortam değişkenlerini otomatik olarak ayarlamak için

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

Kontrol et

java -version

Yani OpenJDK8'i kullanmak için beklemek zorundasınız.


8
@JohnMerlino benim tahminim, yeni sürümler yayınlandığında PPA'nın otomatik güncellemelere izin vereceği yönünde olur.
Thorbjørn Ravn Andersen

7
openjdk-8 şimdi Ütopik'te. bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1341628 o LTS olduğu gibi 14.04 için backport olarak yükseltilmiştir:
Thorbjorn Ravn Andersen

56
Neden yeni düzenleme? Hala 14.04 deposunda henüz sudo apt-get install openjdk-8-jdkgörünmüyor ve en azından benim için çalışmıyor.
xji

17
2016-01-11 itibariyle, resmi olmayan Ubuntu PPA'lara hâlâ ihtiyaç duyuluyor, çünkü OpenJDK 8 henüz geri çekilmedi. Bunu, başkaları gibi görünse de, sorumun cevabı olarak görmüyorum.
Thorbjørn Ravn Andersen

8
Bu cevap eksik olduğu için yanıltıcıdır, belirtilen KKA'nın önermediğini ancak onsuz çalışmayacağını söylüyor.
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
Bu depo tarihli; Bugün itibariyle en son openjdk 1.8 sürümü 66'dır. Bu depodaki sürüm
45'tür.

Getirilemedi ppa.launchpad.net/openjdk-r/ppa/ubuntu/pool/main/o/openjdk-8/... 502 apt-Cacher: libcurl hata: Hata eş veri alırken
Rajesh Hatwar

1
Bunlar doğru asgari adımlardır. 4 ve 5 isteğe bağlıdır ve muhtemelen gerekli değildir.
Hava

Ubuntu 14.04 için çalışmıyorE: Package 'openjdk-8-jdk' has no installation candidate
Naive

Jenkins'i yükseltirken bu benim için işe yaradı (daha yeni sürüm gerekli Java8, sistemimde yalnızca Java7 kurulu idi). Dördüncü satır, Jenkins'in düzgün davranmasını sağlamak için kritik öneme sahipti; Koşuncaya kadar elde etmeye devam ettim Jenkins requires Java8 or later, but you are running 1.7.0_121-b00 from /usr/lib/jvm/java-7-openjdk-amd64/jre. Olumlu bir oy verin ... Yapabilseydim size daha fazlasını verirdim.
Doktor J,

62

OpenJDK 8 Mart 2014’te piyasaya sürülmüştür. Bu sorunun zamanında, resmi Ubuntu depolarında herhangi bir Ubuntu sürümü için OpenJDK 8 paketi bulunmamaktadır. JDK 8 proje sayfasının dediği gibi, bunlar yakında tanımlanacak "yakında hazır olacak" .

İlk olarak, OpenJDK 8 paketleri Ubuntu geliştirme sürümüne gelecek. Bu, 14.10 gelişme döngüsü boyunca olabilir, ancak bildiğim kadarıyla belirlenmiş bir program yok. Bazı önizleme paketleri oluşturulmuş ve test edilmeye hazırdır , debian-java ve Ubuntu openjdk posta listelerinde yer alan duyuruya bakın . Bir noktada bu paketler Debian ve Ubuntu geliştirme havuzlarına yüklenecek.

OpenJDK 8, Ubuntu geliştirme sürümündeyken, 14.04'e desteklenmesini istemek mümkün olabilir. trustyAsıl depoda hiçbir zaman kullanılamayacağına dikkat edin , ancak kullanırsanız trusty-backportsoradan bir noktadan kurulabilir. Ubuntu'da backports isteme işlemi ile ilgili bilgileri buradan okuyun .


4
Sorunuza "nasıl ve ne zaman" sorusunu istediğiniz gibi kısıtlamalarla cevaplamaya çalıştım: resmi depolardan olmalı, OpenJDK olmalı ve 14.04 LTS sürümü olmalı.
Mike Miller

30
Şubat 2016 ve Java 8 hala Ubuntu 14.04 LTS'de mevcut değil. Bu hayal kırıklığı yaratıyor.
Bhavin Doshi

2
Nisan 2016, hala java 8 değil ...
Stephan Henningsen

3
Ubuntu 16.04 Nisan 2016'da açılacak, OpenJDK 8 olacak .
Mike Miller

8
Eylül 2016’dır ve Ubuntu 14.04 LTS, 2019’a kadar hala desteklenecek ... ve daha büyük çaplı değişiklikler (örn. Sistem) nedeniyle 16.04’ü kabul etmek için çok zaman harcanacak.
14.04

34

Not - Bu sadece 14.10 veya üstü ile çalışır :

1 yıl gecikmeli, ancak bugün olduğu gibi apt-get ile beklendiği gibi çalışıyor.

JDK'yı yüklemek için:

$ sudo apt-get install openjdk-8-jdk

JRE'yi yüklemek için:

$ sudo apt-get install openjdk-8-jre

Varsayılan JDK nasıl ayarlanır?

En hızlı yol

Çalıştırın $ sudo update-alternatives --config javave seçtiğiniz JDK'nin kullanacağı numarayı girin.

İkinci yol

Kullanılabilir JDK'ları listeleyin:

$ 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

Şimdi, aşağıdaki komutla eşleşmesi için Açık JDK 8'in konumunu kopyalayıp yapıştırmak için:

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

3
Linux 14.04'te sudo apt-get güncellemesinden sonra hala yalnızca JDK 6 ve 7'yi görüyorum, openjdk-8-jdk yok. Bazı özel depolar eklediniz mi? Güvenilir destek alanlarını etkinleştirdim.
akauppi

2
Sanırım sen kaçıyorsun, 14.10 veya 15.04, değil mi?
akauppi

1
14.04 LTS'de çoğaltılamıyorum. Lütfen bunun sürüm olduğunu onaylayın.
Thorbjørn Ravn Andersen

1
@akauppi haklısın !! 14.10 koşuyorum. Rahatsızlık için özür dilerim, cevabımı kaldırmalı mıyım?
caraca

1
Çıkarılmasını istemem - bazıları için 14.04 yerine 14.10 kullanmak mükemmel bir alternatif olabilir.
akauppi

22

İşte Oracle Java 7 ve Java 8'i kurmak için kullandığım şey: [not: OpenJDK değil] Ubuntu 14.04 LTS'deki sıfırdan:

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

Bu katılımsızdır ve bir Vagrant tedarik bloğuna dahil edilmek için uygundur; Daha fazla ayrıntı içeren bir özüm var: https://gist.github.com/tinkerware/cf0c47bb69bf42c2d740

EDIT: Bu otomatik olarak Oracle'ın JDK lisansını kabul eder; çalıştırmadan önce bununla ilgili her şeyin yolunda olduğundan emin olun.


1
İyi görünüyor. Ancak root erişiminin olduğu kısmı bulamıyor. Yine de güzel cevap.
MadMike

1
Sağ; Bunu, vagrantkullanıcıyı şifresiz kılan Vagrant ile kullanıyorum sudo.
Çağatay

5
Bu Oracle Java'dır, OpenJDK Java değil . Ayrıca eko satırlarının yükleyiciden lisans kabul sorusunu kuşattığını unutmayın.
Thorbjørn Ravn Andersen

3
@ ThorbjørnRavnAndersen Evet, sorunun OpenJDK ile ilgili olduğunu anladım; Özellikle, yöntemimin Oracle Java'yı yüklemek olduğunu söyledim. Bunun alakasız olduğunu iddia edebilirsiniz, ancak bence Java 7/8'i 14.04 LTS'de çalıştırabilecek bir çalışma zamanı bulabilen bir alternatifi belirlemenin bir değeri olduğunu düşünüyorum. Lisans kabul sorusunun "Çevresi" ilginç bir kelime seçimidir; Kurulum sırasında kabulü otomatik hale getiren betiği çalıştırmadan önce Oracle lisansını okuması gerektiğini söyleyebilirim.
Çağatay

3
@Cagatay !! Bu cevap benim için çok faydalı oldu, Vagrant kullanarak Java 8 kurulumuna bakıyordum.
Sotsir

14

2017-08-08 itibariyle, bu sorunun ve cevaplarının, sorunu anlamak için araştırmak için biraz zorlayıcı olduğunu anladım, bu yüzden bu cevaptaki bulguları özetledim.

Çok kısa cevap, OpenJDK 8'in 2017-08-08 itibariyle Ubuntu 14.04 için resmi olarak uygun olmadığıdır .

Ancak birçok seçenek mevcut:

  • Ubuntu'nun daha yeni bir sürümüne yükseltin. OpenJDK 8, 14.10 ve sonrasında mevcuttur. (OpenJDK 9 16.04 LTS’den itibaren, OpenJDK 11 18.04 LTS’den itibaren)
  • Oracle Java'yı (OpenJDK değil) http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html adresinden manuel olarak indirmeniz ve yüklemeniz gereken bir tar.gz dosyası olarak el ile yükleyin. Dizinden önce kabul edilen lisans değişkeninize bineklenebilir $PATH. Ayrıca bir üçüncü taraf PPA kullanmayı da seçebilirsiniz. Oracle Java'nın yalnızca öngörülebilir bir gelecekte (Java 11 civarında) müşterilere ödeme yapan müşteriler için göründüğünü unutmayın.
  • Üçüncü taraf bir PPA kullanarak OpenJDK 8'i indirin.
  • Http://www.azul.com/downloads/zulu/zulu-linux/ (DEB) adresinden bir Azul sertifikalı OpenJDK 8 sürümü indirin.
  • Kaynağı derleyin ve kendiniz yükleyin.

Detaylar için diğer cevaplara bakınız.

Kişisel Paket Arşivlerinin (PPA) genellikle gönüllülük esasına göre bireyler tarafından yapıldığını unutmayın. İçerikler eski olabilir veya uyarıda bulunmadan gidebilir.

Şahsen ben Ubuntu'yu 18.04 LTS'ye yükseltmenizi ya da mümkün değilse bir Azul derlemesi indirmenizi tavsiye ederim.


Not: Yine de OpenJDK 8’in 14.04’e desteklenmesi gerekiyorsa, bu hatayı giriş yaparak ve "Seni etkiler mi?" İ tıklatarak oy verin: https://bugs.launchpad.net/ubuntu/+source/openjdk-8/ + böcek / 1368094


5

Not 22 Nisan 2016 tarihinden itibaren Vivid için paketler kaldırılmıştır, ne yazık ki. Packages.ubuntu.com'daki haber maddesi: "Yılbaşı sürümünü yansıt, yakkety ekle, canlılığı kaldır". Bu cevabın geçici çözümü akıllıdır ancak mevcut durumda artık geçerli değildir. 6 Ocak 2017 tarihinden itibaren java 8 için güvenilir paketler için geri bildirim bulunmamaktadır. Lütfen değişikliklerin geçerli olması için düzenleyin.


Android resmi sitesinden cevabı gör

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

Ubuntu 14.04 için desteklenen herhangi bir OpenJDK 8 paketi bulunmamaktadır. Ubuntu 15.04 OpenJDK 8 paketleri Ubuntu 14.04 ile başarıyla kullanılmıştır. Daha yeni paket sürümlerinin (örneğin 15.10, 16.04 için olanlar), aşağıdaki talimatları kullanarak 14.04'te çalışmadığı bulundu.

Mimarınız için .deb paketlerini http://packages.ubuntu.com/vivid/openjdk-8-jdk adresinden indirin :
openjdk-8-jre-başsız
openjdk-8-jre
openjdk-8-jdk

Unutmayın, makinenizin mimarisini aşağıdakilerle elde edebilirsiniz:

$ uname -m    

x86_64 64-bit (amd64) Linux çekirdeği mimarisini ve i386 / i486 / i586 / i686 32-bit (i386) sistemini temsil eder.

İsteğe bağlı olarak, http://packages.ubuntu.com/vivid/openjdk-8-jdk adresinde bulunan bilgileri kullanarak indirilen dosyaların sağlama toplamlarını onaylayın .

Örneğin sha256sum aracıyla:

$ sha256sum {package file}    

Paketleri kurun:

$ sudo apt-get update    

İndirdiğiniz .deb dosyalarının her biri için dpkg'yi çalıştırın. Eksik bağımlılıklar nedeniyle hatalar üretebilir:

$ sudo dpkg -i {downloaded.deb file}    

Eksik bağımlılıkları gidermek için:

$ sudo apt-get -f install    

4

Burada sadece oy kullandım ve şimdi 733 kişiyiz, openjdk-8'i ubuntu-14.04'e desteklemeyi umursuyoruz.

Bu PPA deposunun oldukça güncel olduğunu buldum

ve umarım umut verici !?

ve benim için çalıştı. J unt unt j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j openj openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt openunt open open openj open open open open open open openjj 14 open open open open open open open open open open open open open open open open open open open open openjj open

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

ve işte benim java -versionçıktım:

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)

ve işte benim uname -açıktım:

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

ve işte benim lsb_release -açıktım:

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

Sanal sunucu-sunucu-sağlayıcım bana sadece Ubuntu-14.04 için destek sağladıklarını ve 2019 yılına kadar böyle devam etmek istediklerini tahmin ediyorum! öyleyse ubuntu-14.04'te openjdk-8 kullanmak için daha iyi bir yol biliyorsanız lütfen bana bildirin.

Teşekkürler!


Azul Zulu kullanmanızı tavsiye ederim. azul.com/downloads/zulu
Thorbjørn Ravn Andersen

Ayrıca aşağıdaki çalıştırmak zorunda Çalıştırmak için: sudo update-java-alternatives --jre --set java-1.8.0-openjdk-amd64vesudo update-java-alternatives --jre-headless --set java-1.8.0-openjdk-amd64
champost

2

Nix paket yöneticisi ayrıca Ubuntu için OpenJDK 8'in ikili paketlerini de tutar, bu sayede çalışan bir Java 8 derleyicisini beş dakikadan daha kısa bir sürede (elbette hızlı bir internet bağlantısıyla) elde edebilirsiniz.

Adımlar:

  1. Nix paket yöneticisini kurun ( https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/ ):$ bash <(curl https://nixos.org/nix/install)

  2. Kabuğu çalıştırın tek gömlek Nix, kurulumun sonunda size söyler: $ . ~/.nix-profile/etc/profile.d/nix.sh

  3. OpenJDK Nix paketini kurun: $ nix-env -i openjdk

  4. Kontrol edin javac:$ javac -version

Bu kadar. Oh, ve adım 2'deki tek-astarı senin içine soktuğundan emin olmak isteyeceksin ~/.bashrc. Bu Nixon'a kurulu paketlerinizi doğru şekilde bağlamasını söyler (çünkü asıl dosyaları standart olmayan dizinlerde tutar).


1
Meraktan - apt-get'ın yanı sıra neden ek bir paket sorumlusu istiyorsun?
Thorbjørn Ravn Andersen

2
@ ThorbjørnRavnAndersen - özel sebep, OpenJDK 8'i en az acıyla hızlı bir şekilde almaktır ve genel nedeni Nix'in apt-get ve diğer eski paket yöneticileri üzerinde devrim niteliğinde bir gelişme olmasıdır.
Yawar

Genel davada soruyorum - özellikle OpenJDK için değil. Görmekte zorlandığım mevcut ekosistemi kullanmayacağından daha ağır basmak için yeni bir paket yöneticisi tanıtmak için çok ağır nedenler olmalı.
Thorbjørn Ravn Andersen

1
@ ThorbjørnRavnAndersen - Genel durumda Nix'i önermek için çok iyi nedenler var. Bahsettiğim gibi, devrimci bir gelişme. Svn üzerinden git ölçeğinde. Daha fazla bilgi için infoq.com/articles/configuration-management-with-nix adresini ziyaret edin .
Yawar

2

OpenJDK 8'i bazı rastgele PPA'lar yerine resmi Debian depolarından alıyorum. İşte nasıl yaptım:

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

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

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

<httpredir>yakın ayna öneki ile değiştirdiğiniz yerlerde (bkz. https://www.debian.org/mirror/list )

Yap /etc/apt/preferences.d/debian-jessie-backports:

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

Sonra nihayet kurulumu yapın:

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

Bu cevap benim için işe yaramıyor. openjdk-8-jdkistiyor openjdk-8-jre, istiyor libjpeg62-turbo. Göre aptbu ikincisi "yüklenemez" ya da daha verbosely "dedi. Kullanılamaz, ancak başka paket tarafından anılır Bu paket, obsoleted edilmiş veya başka bir kaynaktan yalnızca eksik anlamına gelebilir" - böyle değil sahip olduğum depolardan. Kovalama bilge olmak için çok geniş oldu
XavierStuvw

1

Java 8'i doğrudan kaynaklardan kendiniz oluşturmak da kolaydır ... Kulağa korkutucu mu geliyor? Gerçekten şaşırtıcı derecede kolaydır ve http://blog2.vorburger.ch/2014/06/build- adresinde açıkladığım gibi , https://github.com/hgomez/obuildfactory/ adresini kullanarak kelimenin tam anlamıyla 15 dakika kadar sürer. your-kendi-jdk-at-home.html


1
Bina bir şeydir. Peki ya TCK?
Thorbjørn Ravn Andersen

1
@ ThorbjørnRavnAndersen Hiç bir fikrim yok. Tek bir son kullanıcı için, kendi kendine geliştirme zaten faydalıdır IMHO. Aslında iyice test edilmiş bir paket hazırlamak için, muhtemelen başka bir hikaye ... Korkarım senden daha fazla bir şey bilmiyorum. Sadece etrafa baktım ve openjdk.java.net/groups/conformance/JckAccess'i buldum , gördün mü?
veorburger

1

11 Mart 2016’daki güncelleme, bunları root olarak çalıştırın:

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
İlk satır gerekli değildir. Sonraki 4 satır eşittir add-apt-repository ppa:openjdk-r/ppa. Bu cevap aynı zamanda eskilerin bir kopyası.
Paul Stelian

1
Özetle (2017-05-02 itibariyle), bu benim için işe yarıyor. sudo add-apt-repository -y ppa:openjdk-r/ppa; sudo apt-get update; sudo apt-get install -y openjdk-8-jdk
Tzunghsing David Wong,
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.