Saya ingin memutakhirkan sistem utama saya ke 16,04, tetapi saya mengerjakan proyek yang membutuhkan OpenJDK 7.
Ternyata itu tidak tersedia dari yang sepele apt-get install openjdk-7-jdk
. Hanya versi 8 dan 9 yang terdaftar dalam repositori.
Adakah yang bisa mengarahkan saya ke petunjuk tentang cara menginstalnya?
Jawaban:
UPDATE: SELALU INI ADALAH JAWABAN YANG PALING VOTEDNYA YANG MUNGKIN BUKAN YANG ANDA INGINKAN PADA 2018 KARENA KURANGNYA KURANGNYA PEMBARUAN KEAMANAN OLEH PPA.
Saya menemukan instruksi berikut yang bekerja untuk saya:
Ini mendefinisikan "PPA untuk unggahan OpenJDK (dibatasi)" sebagai repositori paket tambahan, memperbarui informasi Anda, dan menginstal paket dengan dependensinya (dari repositori itu).
sumber
sudo update-java-alternatives
sehingga Anda dapat menjadikan openjdk-7 sebagai default.Sunting 22-Jul-2019 : Jawaban ini saat ini tidak berfungsi. Paket JDK yang direferensikan di bawah ini tidak lagi tersedia di Debian Experimental. Bagaimanapun, mereka tertinggal di belakang paket Ubuntu Trusty yang berisi pembaruan keamanan lebih baru. Silakan merujuk ke jawaban lain sampai ini dapat diselesaikan (maaf, tidak ada ETA).
Ini tidak terlihat seperti pengelola openjdk-r / ppa akan memperbarui paket openjdk-7 di luar versi 7u95-2.6.4-3. Deskripsi paket itu "Disalin dari eksperimental debian di Arsip Utama untuk Debian GNU / Linux" memberi kita petunjuk tentang bagaimana menangani ini sendiri.
Opsi 1: Instalasi Manual
Unduh paket yang ditujukan untuk arsitektur Anda:
(untuk sebagian besar pengguna, ini berarti amd64 jika 64bit, atau i386 jika 32bit Ubuntu diinstal)
(Mencoba untuk) menginstal paket menggunakan
dpkg
:Ubuntu 17.10 dan sebelumnya:
Ubuntu 18.04 dan yang lebih baru:
Periksa output dari
dpkg
. Jika ada masalah ketergantungan - yang kemungkinan - Anda akan melihat yang berikut (dengan arsitektur Anda diganti dengan amd64):Jika tidak ada masalah ketergantungan, bagus, Anda sudah selesai, lewati ke # 4. Jika tidak, jika Anda perlu menyelesaikan beberapa masalah ketergantungan, ini ditangani dengan:
Perhatikan, tidak perlu dijalankan kembali
dpkg
setelah membiarkanapt
menyelesaikan dependensi. Ini akan secara otomatis menyelesaikan instalasi paket openjdk.Perbarui alternatif java. Anda dapat melihat semua versi java yang diinstal dengan
update-java-alternatives --list
. Untuk mengaktifkan OpenJDK Java 1.7, jalankan:Anda mungkin melihat kesalahan tentang
IcedTeaPlugin.so
plugin yang tidak tersedia. Ini bukan masalah nyata bagi pengembang yang bekerja dengan JDK.Verifikasi java berfungsi:
yang akan menghasilkan sesuatu yang mirip dengan:
Opsi 2: Instalasi Otomatis (termasuk pembaruan dengan
apt
)Pinning dapat digunakan untuk menginstal dan memperbarui openjdk-7-jdk dan dependensinya dari repositori Debian.
Buat file pinning yang
apt
hanya memberitahukan paket yang menarik bagi kami (kami tentu tidak ingin seluruh distribusi Ubuntu kami "ditingkatkan" dengan paket eksperimental Debian).Buat file
/etc/apt/preferences.d/debian
dengan konten di bawah ini. Anda akan membutuhkan hak superuser, jadi gunakan salah satu darisudo vim
,sudo nano
,gksudo gedit
, dllUntuk Ubuntu 17.10 dan sebelumnya, tambahkan juga yang berikut (dan lihat catatan di bawah):
Pasang keyring Debian:
Catatan: sementara ini adalah metode paling sederhana untuk menambahkan kunci debian, itu mungkin tidak up to date. Periksa output seperti berikut saat berjalan
apt update
di langkah 4:Jika Anda melihat kesalahan ini, maka secara manual tambahkan kunci yang diperlukan dengan:
di mana
8B48AD6246925553
dan7638D0442B90D010
harus cocok dengan pubkey yang Anda lihat di pesan peringatan.Tambahkan repositori yang dibutuhkan:
Mengapa tidak menggunakan repositori Debian yang stabil? Anda akan mengalami dependensi yang tidak memuaskan dengan stabil Debian. Repositori eksperimental (untuk openjdk-7) dan sid (untuk libjpeg62-turbo, libfontconfig1, dan fontconfig-config) lebih lunak dengan versi dependensi.
Perbarui
apt
cache (harap ini membutuhkan waktu lama karena daftar paket Debian besar):Instal openjdk-7-jdk:
Perbarui alternatif java. Anda dapat melihat semua versi java yang diinstal dengan
update-java-alternatives --list
. Untuk mengaktifkan OpenJDK Java 1.7, jalankan:Anda mungkin melihat kesalahan tentang
IcedTeaPlugin.so
plugin yang tidak tersedia. Ini bukan masalah nyata bagi pengembang yang bekerja dengan JDK.Verifikasi java berfungsi:
yang akan menghasilkan sesuatu yang mirip dengan:
catatan fontconfig
libfontconfig1
danfontconfig-config
harus ditingkatkan ke 2.12 atau lebih baru di Ubuntu 17.10 dan sebelumnya. Paket pembaruan dari Debian tidak mengandung penyesuaian Ubuntu, sehingga beberapa aplikasi menampilkan font yang jelek dengan paket ini diinstal; mis. Proxy Debugging Charles Web. Bergantung pada program yang Anda gunakan, Anda mungkin atau mungkin tidak terpengaruh oleh masalah ini.sumber
Anda dapat mengunduh OpenJDK 7 dari Azul yang mungkin sesuai dengan kebutuhan Anda. Keduanya memiliki DEB (untuk sistem paket) dan distribusi ZIP. Saya hanya bekerja dengan distribusi ZIP.
http://www.azul.com/downloads/zulu/zulu-linux/
sumber
Instal Java 7 pada Ubuntu 16.04, Ubuntu 17.04
Dianjurkan untuk menginstal Oracle Java , karena memiliki keunggulan kinerja di atas OpenJDK . Untuk alasan itu saya ingin memposting alternatif. Jika Anda ingin menginstal Oracle Java, jalankan perintah berikut di terminal untuk menginstalnya dari PPA.
Tambahkan repositori yang dibutuhkan:
Perbarui
apt
cache dan instal oracle-java7 :Selama proses instalasi Anda harus menerima perjanjian Lisensi Oracle . Setelah terinstal, kita perlu mengatur variabel lingkungan Java seperti JAVA_HOME
Variabel lingkungan Java yang benar.
Verifikasi java berfungsi:
yang akan menghasilkan sesuatu yang mirip dengan:
sumber
apt-get
sedang mencoba untuk mendapatkan installer dari halaman yang tidak ada. - Jika Anda membutuhkan JDK 7, Anda dapat mengunduh installer dari situs web Archive: oracle.com/technetwork/java/javase/downloads/…Alternatif Oracle JDK:
Saya ingin menghindari upaya dengan repositori karena saya beralih antara 7, 8, dan 9, jadi saya berakhir dengan Oracle JDK daripada OpenJDK. Diunduh dari situs resmi . Saya tidak yakin apakah build terbaru 80 berisi perbaikan yang sama dengan build OpenJDK 161. Tetapi saya memilikinya untuk pengembangan sehingga itu tidak berarti banyak bagi saya.
Maka Anda perlu mengatur
$JAVA_HOME
di lingkungan sehingga berbagai skrip mengambil JDK yang tepat (misalnya Maven, JBoss dll).Untuk kelengkapan, JDK versi 7 telah DILAKUKAN, bahkan dukungan publik JDK 8 dihentikan sejak September 2017 dan tidak akan mendapatkan pembaruan publik setelah September 2018.
sumber
Gunakan wadah
Ini adalah jawaban yang berlaku secara universal tentang cara menjalankan
<outdated>
perangkat lunak yang dihapus pada<current>
Ubuntu: kemas aplikasi Anda .Misalnya, gunakan Docker dan gambar dasar Ubuntu yang lebih lama di mana perangkat lunak yang Anda cari masih tersedia / dikelola.
Ini juga bekerja sebaliknya; coba perangkat lunak pada distribusi Linux yang lebih baru atau bahkan lainnya di Ubuntu Anda yang saat ini berjalan.
Contoh untuk Java 7 menggunakan Ubuntu 14.04
Instal Docker - versi gratis Docker CE baik-baik saja. Lihat misalnya https://docs.docker.com/install/linux/docker-ce/ubuntu/ atau gunakan
docker.io
paket dalam versi Ubuntu terbaru yang dikirimkan.Di folder kosong, buat file
Dockerfile
:Tambahkan lebih banyak paket dalam perintah itu jika Anda membutuhkannya.
Di folder itu, jalankan:
Jalankan perintah di dalam wadah sekali pakai menggunakan gambar Java 7 itu:
Misalnya
java -version
:Keluaran:
Secara opsional, buat pembungkus untuk kenyamanan.
Buat file
/usr/local/bin/java7-in-docker
dengan konten:Ini akan membuat direktori kerja saat ini tersedia di dalam wadah - bukan seluruh sistem file Anda, dan itu akan menyamar sebagai akun pengguna lokal Anda di namespace wadah.
Tandai sebagai executable:
Jalankan Java 7 Anda secara transparan, seperti ini:
sumber
Cara mudah adalah:
Tambahkan baris ini ke
/etc/apt/sources.list
::Kemudian perbarui apt dan instal. Anda mungkin perlu menurunkan versi
tzdata
paket.Setelah itu, saya akan merekomendasikan untuk mengomentari baris-baris itu dan memperbarui lagi untuk mencegah menginstal atau memperbarui paket-paket dari repositori itu (yang dapat menyebabkan perilaku yang tidak terduga).
Satu masalah adalah bahwa Anda perlu memegang paket-paket itu sehingga mereka tidak bisa dihapus ketika Anda memperbarui sistem Anda (khususnya
tzdata
paket).CATATAN : Gunakan metode ini sebagai pilihan terakhir, lebih suka yang lain yang memungkinkan Anda untuk memperbarui tanpa masalah.
sumber