Bagaimana cara menginstal OpenJDK 8 pada 14,04 LTS?

306

Java 8 sekarang tersedia sesuai dengan http://openjdk.java.net/projects/jdk8/ , tetapi http://openjdk.java.net/install/ belum menyebutkan cara menginstal OpenJDK 8 (bukan Oracle Java) di Ubuntu 14.04 Dukungan Jangka Panjang. (Untuk 14.10 dan lebih baru jalankan apt-get install openjdk-8-jdk)

Bagaimana dan kapan ini bisa dilakukan?

(2017-08-08: Jawaban yang paling singkat adalah: OpenJDK 8 pada 2017-08-08 tidak tersedia secara resmi dari repositori resmi sebagai paket APT untuk Ubuntu 14.04. Lihat ringkasan lengkap dalam jawaban ini )

Catatan: Untuk saat ini kami akan menggunakan Oracle Java - solusi optimal bagi saya adalah, bagaimanapun, OpenJDK dari repositori Ubuntu, sampai Oracle Java tersedia secara langsung dan mudah dari repositori Ubuntu.


Thorbjørn Ravn Andersen
sumber
1
Anda perlu mengkompilasinya sendiri. Begini caranya: github.com/hgomez/obuildfactory/wiki/... Ubah nama file untuk mencocokkan versi 8 ;-)
Rinzwind
2
Azul telah mulai menyediakan build OpenJDK dengan nama "Zulu" yang dapat diunduh, dibuka dan digunakan secara otomatis. (Mereka mendapat uang dari dukungan). azulsystems.com/products/zulu/downloads
Thorbjørn Ravn Andersen
1
Khususnya, ppa yang sama dengan apt-fast untuk trusty dihosting pada ppa:saiarcot895/myppa,, memiliki versi openjdk-8 yang berfungsi. mengangkat bahu
ThorSummoner
Seiring berjalannya waktu, tampaknya solusi paling sederhana adalah dengan opgrade 16,04 LTS saat tersedia.
Thorbjørn Ravn Andersen

Jawaban:

277

Anda dapat melakukan ini untuk;

Pembaruan Terakhir

JDK

sudo apt-get install openjdk-8-jdk

JRE

sudo apt-get install openjdk-8-jre

Pembaruan Lama

Saya menemukan dua repositori tetapi saya tidak merekomendasikan

  • OpenJDK builds (semua lengkungan)

    ppa:openjdk-r/ppa
  • OpenJDK 8 backport untuk dipercaya

    ppa:jochenkemnade/openjdk-8

pesan asli

Jika Anda benar-benar ingin menggunakan OpenJDK, Anda harus mengkompilasi dari sumber. Masih belum ada PPA untuk OpenJDK.

Ini telah diminta di https://bugs.launchpad.net/ubuntu/+bug/1297065

Saya sarankan Anda untuk menggunakan Installer Webup8 Oracle Java8

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

Untuk secara otomatis mengatur variabel lingkungan Java 8

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

Periksa

java -version

Jadi, Anda harus menunggu untuk menggunakan OpenJDK8

muhasturk
sumber
8
@JohnMerlino dugaan saya adalah bahwa PPA memungkinkan untuk pembaruan otomatis ketika versi baru dirilis.
Thorbjørn Ravn Andersen
7
openjdk-8 sekarang dalam Utopic. bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1341628 telah dinaikkan ke backport menjadi 14,04 karena itu adalah LTS:
Thorbjørn Ravn Andersen
56
Mengapa hasil edit baru? Tampaknya masih belum dalam repo 14,04 dan sudo apt-get install openjdk-8-jdksetidaknya tidak bekerja untuk saya.
xji
17
Pada 2016-01-11 PPA Ubuntu non-resmi masih diperlukan, karena OpenJDK 8 belum mendarat di backports. Saya tidak menganggap ini sebagai jawaban untuk pertanyaan saya meskipun tampaknya orang lain melakukannya.
Thorbjørn Ravn Andersen
8
Jawaban ini sangat menyesatkan karena tidak lengkap, katanya tidak merekomendasikan PPA yang disebutkan tetapi tidak akan berhasil tanpanya.
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
Pankaj Wahane
sumber
7
Repositori ini bertanggal; pada hari ini rilis openjdk 1.8 terbaru adalah 66. Versi yang tersedia di repositori ini adalah 45.
mattm
Gagal mengambil ppa.launchpad.net/openjdk-r/ppa/ubuntu/pool/main/o/openjdk-8/… 502 apt-cacher: libcurl error: Gagal saat menerima data dari rekan
Rajesh Hatwar
1
Ini adalah langkah minimal yang benar. 4 dan 5 adalah opsional dan mungkin tidak diperlukan.
Air
Tidak berfungsi untuk Ubuntu 14.04E: Package 'openjdk-8-jdk' has no installation candidate
Naif
Ini bekerja untuk saya ketika memutakhirkan Jenkins (versi yang lebih baru diperlukan Java8, sistem saya hanya menginstal Java7). Dari catatan, baris keempat sangat penting untuk membuat Jenkins berperilaku baik; sampai menjalankannya, saya terus mendapatkan Jenkins requires Java8 or later, but you are running 1.7.0_121-b00 from /usr/lib/jvm/java-7-openjdk-amd64/jre. Selamat menikmati ... Saya akan memberi Anda lebih banyak jika saya bisa.
Doktor J
62

OpenJDK 8 dirilis pada Maret 2014. Pada saat pertanyaan ini, tidak ada paket OpenJDK 8 di repositori resmi Ubuntu untuk setiap rilis Ubuntu. Mereka "akan segera tersedia", seperti yang dikatakan oleh halaman proyek JDK 8 , untuk beberapa definisi segera.

Pertama, paket OpenJDK 8 akan mendarat dalam rilis pengembangan Ubuntu. Ini mungkin terjadi selama siklus pengembangan 14.10, tetapi tidak ada jadwal yang ditetapkan sejauh yang saya tahu. Beberapa paket pratinjau telah dibangun dan tersedia untuk pengujian, lihat pengumuman di milis debian-java dan Ubuntu openjdk . Pada suatu titik paket-paket ini akan diunggah ke repositori pengembangan Debian dan Ubuntu.

Setelah OpenJDK 8 ada dalam versi pengembangan Ubuntu, maka dimungkinkan untuk meminta agar di-backport ke 14,04. Perhatikan bahwa itu tidak akan pernah tersedia di trustyrepositori utama , tetapi jika Anda menggunakannya trusty-backportsmaka dapat diinstal dari sana di beberapa titik. Baca tentang proses untuk meminta backports di Ubuntu di sini .

Mike Miller
sumber
4
Saya mencoba menjawab pertanyaan Anda "bagaimana dan kapan" dengan kendala yang tampaknya Anda inginkan: harus dari repositori resmi, harus OpenJDK, dan harus menjadi rilis 14,04 LTS.
Mike Miller
30
Februari 2016, dan java 8 masih belum tersedia di Ubuntu 14.04 LTS. Ini mengecewakan.
Bhavin Doshi
2
Sekarang April 2016, masih belum ada java 8 ...
Stephan Henningsen
3
Ubuntu 16.04 akan keluar pada bulan April 2016, ia akan memiliki OpenJDK 8 .
Mike Miller
8
Ini September 2016, dan Ubuntu 14,04 LTS masih akan didukung hingga 2019 ... dan banyak tempat akan membutuhkan waktu lama untuk mengadopsi 16,04 karena perubahan skala yang lebih besar (misalnya systemd), jadi itu masih mengecewakan java 8 tidak mudah untuk dilakukan. instal via apt pada 14.04 :(
geerlingguy
34

Catatan - Ini hanya akan bekerja dengan 14.10 atau lebih baru :

1 tahun terlambat, tetapi karena hari ini berfungsi seperti yang diharapkan dengan apt-get.

Untuk menginstal JDK:

$ sudo apt-get install openjdk-8-jdk

Untuk menginstal JRE:

$ sudo apt-get install openjdk-8-jre

Cara mengatur JDK default

Jalan tercepat

Jalankan $ sudo update-alternatives --config javadan masukkan nomor yang digunakan JDK pilihan Anda.

Cara kedua

Daftar JDK yang tersedia:

$ 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

Sekarang, untuk menyalin & menempel lokasi Open JDK 8 agar sesuai dengan perintah di bawah ini:

$ sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64
caraca
sumber
3
Saya masih hanya melihat JDK 6 dan 7, tidak ada openjdk-8-jdk di Linux 14.04 saya, setelah sudo apt-get update. Apakah Anda menambahkan beberapa repositori khusus? Saya memiliki backport terpercaya yang diaktifkan.
akauppi
2
Saya pikir Anda menjalankan 14.10 atau 15.04, bukan?
akauppi
1
Saya tidak dapat mereproduksi pada 14,04 LTS. Harap konfirmasi ini adalah versinya.
Thorbjørn Ravn Andersen
1
@akauppi kamu benar !! Saya menjalankan 14.10. Maaf atas ketidaknyamanan ini, haruskah saya menghapus jawaban saya?
caraca
1
Saya tidak ingin itu dihapus - untuk beberapa orang, menggunakan 14,10 bukan 14,04 mungkin merupakan alternatif yang sangat baik.
akauppi
22

Inilah yang saya gunakan untuk mengatur Oracle Java 7 dan Java 8 [note: not OpenJDK] dari awal di Ubuntu 14.04 LTS:

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

Ini tanpa pengawasan dan cocok untuk dimasukkan dalam blok ketentuan Vagrant; Saya memiliki inti dengan rincian lebih lanjut: https://gist.github.com/tinkerware/cf0c47bb69bf42c2d740

EDIT: Ini akan secara otomatis menerima lisensi Oracle untuk JDK; pastikan Anda baik-baik saja dengan itu terlebih dahulu sebelum menjalankannya.

Cagatay
sumber
1
Kelihatan bagus. Tetapi tidak ada bagian di mana Anda mendapatkan akses root. Jawabannya masih bagus.
MadMike
1
Baik; Saya menggunakan ini dengan Vagrant, yang mengatur vagrantpengguna dengan kata sandi sudo.
Cagatay
5
Ini Oracle Java, bukan OpenJDK Java yang menjadi pertanyaan. Perhatikan juga bahwa garis gema membatasi pertanyaan penerimaan lisensi dari penginstal.
Thorbjørn Ravn Andersen
3
@ ThorbjørnRavnAndersen Ya, saya perhatikan pertanyaannya adalah tentang OpenJDK; Saya secara khusus mengatakan bahwa metode saya adalah untuk menginstal Oracle Java. Anda mungkin berpendapat bahwa ini tidak terkait, tapi saya pikir ada nilai dalam mencatat alternatif yang masih membuat Anda runtime yang dapat menjalankan Java 7/8 pada 14,04 LTS. "Pengelakan" pertanyaan penerimaan lisensi adalah pilihan kata yang menarik; Saya akan mengatakan orang harus membaca lisensi Oracle sebelum menjalankan skrip, yang mengotomatiskan penerimaan selama instalasi.
Cagatay
3
Terima kasih @Cagatay !! jawaban ini sangat berguna bagi saya, saya mencari instalasi Java 8 menggunakan Vagrant.
Sotsir
14

Pada 2017-08-08 saya menemukan bahwa pertanyaan ini dan jawabannya sudah agak melelahkan untuk memahami masalahnya, jadi saya telah merangkum temuan dalam jawaban ini.

Jawaban yang sangat singkat adalah bahwa OpenJDK 8 pada 2017-08-08 tidak tersedia secara resmi untuk Ubuntu 14.04 .

Namun ada banyak opsi yang tersedia:

  • Tingkatkan ke versi Ubuntu yang lebih baru. OpenJDK 8 tersedia mulai 14.10 dan seterusnya. (OpenJDK 9 mulai 16,04 LTS dan seterusnya, OpenJDK 11 mulai 18,04 LTS dan seterusnya)
  • Unduh dan pasang Oracle Java (bukan OpenJDK) dari http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html secara manual sebagai file tar.gz yang hanya perlu dibongkar dan memiliki lisensi diterima sebelum bindirektori dapat ditambahkan ke $PATHvariabel Anda . Anda mungkin juga memilih untuk menggunakan PPA pihak ketiga. Perhatikan bahwa Oracle Java tampaknya hanya untuk membayar pelanggan di masa mendatang (sekitar Java 11).
  • Unduh OpenJDK 8 menggunakan PPA pihak ketiga.
  • Unduh build OpenJDK 8 bersertifikat Azul dari http://www.azul.com/downloads/zulu/zulu-linux/ (DEB)
  • Kompilasi sumber dan instal sendiri.

Lihat jawaban lain untuk detailnya.

Perhatikan bahwa Arsip Paket Pribadi (PPA) biasanya dibuat oleh individu secara sukarela. Konten mungkin kedaluwarsa atau hilang tanpa peringatan.

Secara pribadi saya akan merekomendasikan untuk memutakhirkan Ubuntu ke 18,04 LTS, atau jika tidak memungkinkan, unduh Azul build.


Catatan: Jika Anda masih membutuhkan OpenJDK 8 yang di-backport ke 14,04, pilih bug ini dengan masuk dan mengklik "Apakah itu memengaruhi Anda" di bagian atas: https://bugs.launchpad.net/ubuntu/+source/openjdk-8/ + bug / 1368094

Thorbjørn Ravn Andersen
sumber
5

Catatan Sejak 22 April 2016 paket untuk Vivid telah dihapus, sayangnya. Item berita di packages.ubuntu.com: "Refleksikan rilis asli, tambahkan yakkety, hapus vivid". Solusi dari jawaban ini cerdas tetapi tidak lagi berlaku dalam situasi saat ini. Pada 6 Jan 2017 belum ada backport untuk java 8 di paket trust.ubuntu.com/trusty-backports/java belum. Harap edit saat perubahan diterapkan.


Lihat jawabannya dari situs resmi Android

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

Tidak ada paket OpenJDK 8 yang didukung yang tersedia untuk Ubuntu 14.04. Paket Ubuntu 15.04 OpenJDK 8 telah berhasil digunakan dengan Ubuntu 14.04. Versi paket yang lebih baru (mis. Untuk 15.10, 16.04) ditemukan tidak berfungsi pada 14.04 menggunakan instruksi di bawah ini.

Unduh paket .deb untuk arsitektur Anda dari http://packages.ubuntu.com/vivid/openjdk-8-jdk :
openjdk-8-jre-headless
openjdk-8-jre
openjdk-8-jdk

Ingat, Anda dapat memperoleh arsitektur untuk mesin Anda dengan:

$ uname -m    

x86_64 mewakili arsitektur kernel Linux 64-bit (amd64) dan i386 / i486 / i586 / i686 mewakili sistem 32-bit (i386).

Secara opsional, konfirmasikan checksum dari file yang diunduh menggunakan informasi yang ditemukan di http://packages.ubuntu.com/vivid/openjdk-8-jdk .

Misalnya dengan alat sha256sum:

$ sha256sum {package file}    

Instal paket:

$ sudo apt-get update    

Jalankan dpkg untuk setiap file deb yang Anda unduh. Mungkin menghasilkan kesalahan karena dependensi yang hilang:

$ sudo dpkg -i {downloaded.deb file}    

Untuk memperbaiki dependensi yang hilang:

$ sudo apt-get -f install    
Bin Chen
sumber
4

Saya baru saja memilih di sini dan sekarang kami adalah 733 orang yang kami pedulikan tentang backporting openjdk-8 ke ubuntu-14.04.

Saya menemukan repositori PPA ini cukup mutakhir

dan semoga menjanjikan !?

dan itu berhasil untuk saya. Saya berhasil menginstal openjdk-8-jdk di ubuntu-14.04 dengan perintah berikut:

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

dan inilah java -versionoutput saya :

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)

dan inilah uname -aoutput saya :

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

dan inilah lsb_release -aoutput saya :

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

Penyedia virtual-host-server-saya memberi tahu saya bahwa mereka hanya menyediakan dukungan untuk Ubuntu-14,04 dan saya kira mereka ingin terus seperti ini sampai 2019! jadi tolong beri tahu saya jika Anda tahu cara yang lebih baik untuk memiliki openjdk-8 di ubuntu-14.04?

Terima kasih!

Sid Morad
sumber
Saya akan merekomendasikan menggunakan Azul Zulu. azul.com/downloads/zulu
Thorbjørn Ravn Andersen
Saya juga harus menjalankan yang berikut untuk membuatnya bekerja: sudo update-java-alternatives --jre --set java-1.8.0-openjdk-amd64dansudo update-java-alternatives --jre-headless --set java-1.8.0-openjdk-amd64
juara
2

Manajer paket Nix juga mengelola paket biner OpenJDK 8 untuk Ubuntu, yang berarti Anda bisa mendapatkan kompiler Java 8 yang berfungsi dalam waktu kurang dari lima menit mulai dari selesai (tentu saja dengan koneksi internet yang cepat).

Langkah-langkahnya adalah:

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

  2. Jalankan shell one-liner yang Nix beri tahu Anda di akhir instalasi: $ . ~/.nix-profile/etc/profile.d/nix.sh

  3. Instal paket OpenJDK Nix: $ nix-env -i openjdk

  4. Periksa javac:$ javac -version

Itu dia. Oh, dan Anda harus memastikan untuk menempatkan satu-liner dari langkah 2 di Anda ~/.bashrc. Itu akan memberi tahu Nix untuk menautkan paket-paket Anda yang terinstal dengan benar (karena itu menyimpan file aktual di direktori non-standar).

Yawar
sumber
1
Karena penasaran - mengapa Anda ingin palungan paket tambahan selain apt-get?
Thorbjørn Ravn Andersen
2
@ ThorbjørnRavnAndersen - alasan spesifiknya adalah dengan cepat mendapatkan OpenJDK 8 dengan rasa sakit minimal, dan alasan umum adalah bahwa Nix adalah peningkatan revolusioner atas apt-get dan manajer paket yang lebih lama lainnya.
Yawar
Saya meminta dalam kasus umum - bukan untuk OpenJDK secara khusus. Pasti ada alasan yang sangat berat untuk memperkenalkan manajer paket baru untuk lebih besar daripada tidak menggunakan ekosistem yang ada, yang sulit saya lihat.
Thorbjørn Ravn Andersen
1
@ ThorbjørnRavnAndersen - ada alasan yang sangat bagus untuk merekomendasikan Nix dalam kasus umum. Seperti yang saya sebutkan, ini adalah peningkatan revolusioner. Pada skala git over svn. Lihat infoq.com/articles/configuration-management-with-nix untuk informasi lebih lanjut.
Yawar
2

Saya mendapatkan OpenJDK 8 dari repositori Debian resmi, daripada beberapa PPA acak. Begini cara saya melakukannya:

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

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

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

tempat Anda mengganti <httpredir>dengan awalan untuk mirror terdekat (lihat https://www.debian.org/mirror/list )

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

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

Kemudian akhirnya lakukan instalasi:

sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk
Hans-Christoph Steiner
sumber
Jawaban ini tidak cocok untuk saya. openjdk-8-jdkingin openjdk-8-jreyang ingin libjpeg62-turbo. Menurut yang aptterakhir ini "tidak dapat diinstal" atau lebih secara verbal "tidak tersedia, tetapi disebut oleh paket lain. Ini mungkin berarti bahwa paket tersebut hilang, telah usang, atau hanya tersedia dari sumber lain" - dengan demikian tidak dari repositori yang saya miliki.
Pengejaran
1

Sebenarnya juga mudah untuk membuat Java 8 sendiri langsung dari sumber ... Kedengarannya menakutkan? Ini benar-benar sangat mudah, dan secara serius benar-benar membutuhkan waktu sekitar 15 menit, menggunakan https://github.com/hgomez/obuildfactory/ , seperti yang telah saya jelaskan di http://blog2.vorburger.ch/2014/06/build- your-own-jdk-at-home.html

vorburger
sumber
1
Bangunan adalah satu hal. Bagaimana dengan TCK?
Thorbjørn Ravn Andersen
1
@ ThorbjørnRavnAndersen Saya tidak tahu. Untuk pengguna akhir individu, membangun sendiri IMHO sudah berguna. Untuk benar-benar mempersiapkan paket yang telah diuji secara menyeluruh, mungkin ini cerita lain ... Saya khawatir saya tidak tahu apa-apa selain Anda. Saya baru saja melihat sekeliling dan menemukan openjdk.java.net/groups/conformance/JckAccess , pernahkah Anda melihatnya?
vorburger
1

Pembaruan pada 11 Maret 2016, jalankan ini sebagai root:

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"
Zhang Lei
sumber
2
Baris pertama tidak diperlukan. 4 baris berikutnya setara dengan add-apt-repository ppa:openjdk-r/ppa. Jawaban ini juga merupakan duplikat dari jawaban yang lebih lama.
Paul Stelian
1
Singkatnya (per 2017-05-02), inilah yang berfungsi untuk saya. sudo add-apt-repository -y ppa:openjdk-r/ppa; sudo apt-get update; sudo apt-get install -y openjdk-8-jdk
Tzunghsing David Wong