Saya mendapatkan OpenJDK 8 dari repositori resmi Debian, daripada beberapa PPA acak atau biner Oracle yang tidak bebas. Inilah 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
Buat /etc/apt/preferences.d/debian-jessie-backports
:
Package: *
Pin: release o=Debian,a=jessie-backports
Pin-Priority: -200
Kemudian terakhir lakukan penginstalan:
sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk
sudo apt-get update
sudo apt-get install openjdk-8-jdk
ini seharusnya berhasil
Seperti yang Anda lihat, saya hanya menginstal java 1.7 (pada mesin Ubuntu 14.04).
update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
Untuk menginstal Java 8, saya melakukannya,
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
Setelah itu, sekarang saya memiliki java 7 dan 8,
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
BONUS ADDED (cara beralih di antara versi yang berbeda)
- jalankan perintah berikut dari terminal:
sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode 1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode * 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1069 manual mode Press enter to keep the current choice[*], or type selection number:
Seperti yang Anda lihat, saya menjalankan jdk 8 terbuka. Untuk beralih ke jdk 7, tekan 1
dan tekan tombol Enter kunci. Lakukan hal yang sama untuk javac
begitu juga dengan, sudo update-alternatives --config javac
.
Periksa versi untuk mengonfirmasi perubahan:java -version
dan javac -version
.
PEMBARUAN :instalasi tanpa hak akses root di bawah
Saya menyarankan Anda untuk tidak menginstal paket secara manual di sistem ubuntu jika sudah ada repositori (semi-resmi) yang dapat menyelesaikan masalah Anda. Selanjutnya, gunakan Oracle JDK untuk pengembangan, hanya untuk menghindari masalah kompatibilitas (sangat sporadis) (saya sudah mencoba bertahun-tahun yang lalu, sekarang pasti lebih baik).
Tambahkan webupd8 repo ke sistem Anda:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Instal versi jdk pilihan Anda (tersedia versi dari java-6 hingga java-9):
sudo apt-get install oracle-java8-installer
Anda juga dapat menginstal beberapa versi jdk, menggabungkan versi openjdk dan oracle. Kemudian Anda dapat menggunakan perintah update-java-alternatives untuk beralih di antara versi yang diinstal:
# list available jdk
update-java-alternatives --list
# use jdk7
sudo update-java-alternatives --set java-7-oracle
# use jdk8
sudo update-java-alternatives --set java-8-oracle
Persyaratan
Jika Anda mendapatkan add-apt-repository: command not found
pastikan memiliki software-properties-common
terpasang:
sudo apt-get install software-properties-common
Jika Anda menggunakan Ubuntu versi lama:
sudo apt-get install python-software-properties
Instalasi JDK tanpa hak akses root
Jika Anda tidak memiliki hak administrator pada mesin target Anda, pilihan paling sederhana adalah menggunakan sdkman
untuk menginstal openjdk bersertifikat zulu:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java
CATATAN :sdkman memungkinkan untuk menginstal juga Oracle JDK resmi, meskipun itu bukan opsi default. Lihat versi yang tersedia dengan:
sdk ls java
Instal versi yang dipilih dengan:
sdk install java <version>
Misalnya:
sdk install java 9.0.1-oracle
Glosari perintah
-
sudo
<command> [command_arguments]
:jalankan perintah dengan hak superuser. -
tambahkan-apt-repositori
<PPA_id>
:Ubuntu (seperti setiap turunan Debian dan secara umum setiap distribusi Linux) memiliki repositori utama paket yang menangani hal-hal seperti ketergantungan paket dan pemutakhiran. Di Ubuntu dimungkinkan untuk memperluas repositori utama menggunakan PPA (Arsip Paket Pribadi) yang biasanya berisi paket yang tidak tersedia di sistem (seperti oracle jdk) atau versi terbaru dari yang tersedia (contoh:LibreOffice 5 di LTS hanya tersedia melalui ini PPA). -
apt-get
[install|update|upgrade|purge|...]
:ini adalah "the" command-line package handler yang digunakan untuk memanipulasi status dari setiap repositori pada sistem (menginstal/memperbarui/meningkatkan dapat dilihat sebagai perubahan status repositori saat ini).
Dalam kasus kami :dengan perintah sudo add-apt-repository ppa:webupd8team/java
kami memberi tahu sistem bahwa pembaruan repositori berikutnya harus mengambil informasi paket juga dari repo webupd8.
Dengan sudo apt-get update
kami benar-benar memperbarui repositori sistem (semua operasi ini memerlukan hak pengguna super, jadi kami menambahkan sudo ke perintah).
sudo apt-get install oracle-java8-installer
-
perbarui-java-alternatif (versi java khusus dari update-alternatives ):di Ubuntu beberapa paket menyediakan fungsionalitas yang sama (menjelajahi internet, mengkompilasi surat, mengedit file teks atau menyediakan executable java/javac...). Untuk memungkinkan sistem memilih alat favorit pengguna, diberikan mekanisme tugas tertentu menggunakan symlink di bawah
/etc/alternatives/
digunakan. Coba perbarui jdk seperti yang ditunjukkan di atas (beralih antara Java 7 dan Java 8) dan lihat bagaimana mengubah output dari perintah ini:ls -l /etc/alternatives/java*
Dalam kasus kami :sudo update-java-alternatives --set java-8-oracle
perbarui symlink di bawah /etc/alternatives untuk menunjuk ke executable Java-8-Oracle.
Ekstra:
-
pria
<command>
:mulai gunakan man untuk membaca bantuan yang ditulis dengan sangat baik dan mendetail pada (hampir) setiap perintah Shell dan opsinya (setiap perintah yang saya sebutkan dalam jawaban kecil ini memiliki halaman manual, cobaman update-java-alternatives
). -
apt-cache
search <search_key>
:meminta cache APT untuk mencari paket yang terkait dengan kunci_pencarian yang disediakan (bisa berupa nama paket atau beberapa kata dalam deskripsi paket). -
apt-cache
show <package>
:memberikan informasi APT untuk paket tertentu (versi paket, terinstal atau tidak, deskripsi).