Ubuntu tampaknya sangat menyukai OpenJDK / JRE dibandingkan Sun JDK / JRE. Bahkan setelah saya menginstal Sun JRE, JDK dan plugin dan menghabiskan waktu mencabut paket-paket terkait OpenJDK, apt-get telah menginstalnya kembali dengan beberapa paket sebagai ketergantungan. Bisakah perilaku ini diperbaiki demi paket Sun Java? Saya ingin memiliki satu dan hanya tumpukan Java yang diinstal (ya, ini sedikit OCD , tapi saya ingin sistem saya bersih) dan ingin itu Java Sun.
Pembaruan: seperti yang dicatat oleh Marcos Roriz, masalahnya tampaknya berada pada default-jre (yang bergantung pada paket-paket yang bergantung pada Java) menunjuk ke OpenJDK, jadi pertanyaannya adalah bagaimana cara meretas default-jre / default-jdk ke titik ke Sun Java.
Jawaban:
Menginstal Sun Java di Ubuntu Versi Lama (9.10 dan di bawah)
Saya punya masalah yang sama sekali sekitar tiga tahun lalu dengan Ubuntu 8.04 saya pikir. Ada masalah aneh ketika menggunakan openjre dan masalahnya diselesaikan dengan menggunakan versi sun jre. Berikut adalah langkah-langkah di terminal yang berlaku untuk versi di bawah 10,04, sejak mulai dari 10,04 sun java telah dijatuhkan dan diganti oleh openjre:
(Semuanya terkait Java java. Hanya untuk memastikan)
Setelah itu, jika Anda menghapus openjdk maka Anda hanya akan memiliki java java. Jika Anda tidak menghapusnya maka Anda memiliki keduanya. Untuk mengubah dari satu ke yang lain lakukan ini:
sudo update-java-alternatives -l
- Ini akan menampilkan daftar mesin java yang dapat Anda gunakan.Nama alternatif java adalah yang di sebelah kiri jadi misalnya openjdk akan muncul seperti ini:
Dan Anda akan mengatur sistem untuk openjdk seperti ini:
Jika Anda ingin menggunakan Sun maka Anda akan melakukan ini (Setelah menginstal paket-paket sun):
Jika Anda ingin menggunakan versi java 7, cukup ubah angka 6 yang disebutkan di atas untuk 7. Sebagai contoh jika saya ingin menginstal versi openjre 7 saya akan:
Menginstal Sun Java pada Ubuntu versi yang lebih baru (10,04 di atas)
Buka terminal dan ketik berikut ini:
Itu harus menginstal versi Sun Java pada sistem Anda. Untuk mengubahnya, cukup lakukan hal berikut jika Anda memiliki alternatif java lainnya:
Jika Anda ingin instalasi otomatis ketik yang berikut ini:
setelah itu cukup lakukan hal berikut untuk mengatur variabel lingkungan default:
Perhatikan bahwa PPA mencakup versi 6, 7 dan 8. Jadi Anda dapat menginstalnya dengan hanya mengubah nomor di jalur instalasi, misalnya:
Akan menginstal Java 8. Setelah menginstal versi Java yang ingin Anda gunakan dan mengatur versi ke default dengan
update-java-alternatives
perintah, Anda dapat memeriksa versi mana yang Anda gunakan dengan mengetik berikut ini:Ini akan menunjukkan kepada Anda versi default yang Anda gunakan pada saat itu.
Saya juga ingin menyebutkan bahwa OpenJRE / JDK telah datang jauh dari 2 atau 3 tahun yang lalu ketika memiliki banyak masalah yang diselesaikan dengan mengubah ke Sun Java.
sumber
Saya pikir masalahnya adalah bahwa beberapa paket Java bergantung pada default-jre yang mengarah ke openjdk-jre. Saya tidak berpikir ada cara mudah untuk menghapus instalan openjdk secara permanen. Masalahnya adalah Anda mungkin akan bertemu lagi dengan openjdk ketika Anda menginstal paket / program java.
Tetapi jika Anda ingin memiliki keduanya, apakah mudah untuk mengatur program runtime java (java, javah, javap, dan sebagainya) ke implementasi sun. Lakukan:
atau jika Anda seorang java dev (instal sdk dan srcs):
Dan atur sebagai program default dengan:
sumber
default-jre
paket untuk menunjuk ke sun-java malam ini. Saat ini saya sedang bekerja.The
.jdk1.6.0_23.jinfo
file harus daftar program yang disediakan dan jalan mereka. Ada header deskriptif yang diikuti oleh baris kosong. Kemudian daftar program dalam format tiga bidang: tipe entri (jre / jkd / plugin); nama program; dan jalan. Anda harus memiliki beberapa file jinfo yang dapat Anda gunakan untuk melihat seperti apa isinya. Ini kemungkinan digunakan oleh mekanisme alternatif untuk menentukan tautan mana yang akan dibuat. Kepala paket Sun saya adalah.Jika Anda ingin mengganti perintah Java default tanpa menggunakan mekanisme alternatif, letakkan Java path Anda di depan / usr / bin di path Anda.
Ketika melakukan instalasi manual, saya menginstal Java di
/opt
. untuk pemasangan Anda, saya akan menginstal di/opt/jdk1.6.0_23
. Lalu saya meletakkan path$JAVA_HOME/bin
di awalPATH
variabel saya .EDIT: Ini adalah file Sun keseluruhan. Catatan
.java-6-sun.jinfo
adalah tautan simbolis ke.java-6-sun-1.6.0.22.jinfo
.sumber
Hapus openjdk dan icedtea:
tambahkan berikut ini ke /etc/apt/sources.list
instal Sun / Oracle JRE atau JDK:
sumber
Apakah Anda memeriksanya?
Jika Anda tidak membutuhkannya: Hapus instalasi openjdk dan gcj di sinaptik atau dengan apt-get.
Saya akan melarang java dari alternatif itu, dan melakukan sebagian besar seperti yang disarankan BillThor, mengapa saya memberinya upvote.
harus menunjuk ke tempat Anda menginstal java, dan di mana ditemukan di PATH.
sumber
which
perintah dan tidak mencetak apa pun. Mengetahui bahwa saya lupa simbol $ sebelum variabel JAVA_HOME di PATH, saya akan memulai kembali sekarang dan melihat bagaimana hasilnya.which
perintah masih tidak menunjukkan apa-apa. Baik variabel JAVA_HOME dan PATH benar: echo $ JAVA_HOME /usr/lib/jvm/jdk1.6.0_23 echo $ PATH $ JAVA_HOME / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games Di mana masalahnya? Sunting: Sialan, mengapa tidak ada jeda baris dalam komentar ??echo $PATH $JAVA_HOME/bin:/usr/local/sbin...
tetapi dalam hasilnya $ JAVA_HOME harus dievaluasi - ada sesuatu yang salah, atau pelaporan Anda salah. c) Linebreak: Mereka tidak ada di sana, sehingga kami terus menekan ENTER terlalu dini, dan kemudian jam berdetak, karena pengeditan hanya untuk beberapa menit diperbolehkan - Saya terus-menerus masuk ke perangkap itu. Saya membencinya! :)echo $JAVA_HOME
...echo $PATH
cetak$JAVA_HOME...
atau tidak mencetak nilai untuk JAVA_HOME, yaitu:/usr/lib/jvm/jdk1.6.0_23
?java -version
shell (hanya akan menampilkan Sun java)sudo update-java-alternatives -l
dan itu hanya berfungsi jika Anda memiliki dua jdk diinstal dan Anda ingin mengatur sun-java sebagai lingkungan default
sumber
Menggunakan Ubuntu 10.10, tampaknya Anda harus menandai untuk menghapus libaccess-bridge-java terlebih dahulu di Synaptic, dan kemudian tandai openjdk-6-jre-headless.
Saya berakhir dengan daftar yang akan dihapus:
Ini berhasil tetapi meninggalkan direktori di
/etc/java-6-openjdk
belakang dengan berbagai macam file dan subdirektori di dalamnya, yang saya isolasi di direktori baru. Tidak ada efek yang tidak biasa, jadi mungkin itu hanya sisa sisa.Ini meninggalkan saya dengan Java yang saya unduh langsung dari situs web Java. Namun, meskipun telah menetapkannya sebagai default dan membuat tautan ke direktori plugin Firefox, itu tidak lagi berfungsi. Menginstal sun-java6-jre dan paket-paket yang terkait gsfonts-x11, odbcinst, odbcinst1debian2, sun-java6-bin, dan unixodbc, melalui Synaptic, melihat plugin Java mulai bekerja kembali. Menghapus tautan di direktori plugins dan menggantinya dengan file libnpjp2.so yang sebenarnya tidak berfungsi. Menggunakan tautan ke file libjavaplugin_oji.so di direktori ns7 atau ns7-gcc29 di Java yang diinstal melalui Synaptic juga tidak berfungsi. Ini menunjukkan kepada saya bahwa untuk mendapatkan plugin Java terbaru di Firefox, seseorang dapat mengikuti instruksi di situs Java, dan bahwa Java Linux terintegrasi dengan varietas apa pun diperlukan untuk menjalankan Java yang diunduh, yang kemudian bergantung pada operasinya pada file yang mengelilinginya setelah plugin telah diaktifkan. Sementara pemahaman penuh tentang kode yang terdiri dari Jawa dan Linux akan diperlukan untuk benar-benar menyelesaikan misteri itu, mungkin eksperimen ini membantu dalam menemukan alasan mengapa dua Java mungkin diperlukan dalam kasus ini. Setidaknya dimungkinkan untuk menghapus semua Java juga, jika ada yang merasa berguna untuk melakukannya.
sumber
Hal yang saya lakukan pada mesin Ubuntu 10.10 baru adalah
Maka tidak masalah bagi saya, tidak ada lagi dependensi openJDK
sumber
Jawaban yang diberikan untuk pertanyaan ini tidak berhasil untuk saya. Artinya, berikut ini gagal:
Dengan kesalahan:
Coba petunjuk ini , sebagai gantinya:
icedtea-6-jre-cacao
), jika sudah diinstal.OpenJDK (IcedTea) sekarang diinstal, yang seharusnya memungkinkan Anda (jika Anda memiliki kesalahan ini) untuk terus menginstal JDK Oracle tanpa kesalahan.
Lihat juga:
sumber
Pertama: hapus plugin openjdk dan icedtea.
Kedua: salin file .bin jdk ke / opt atau / usr / java dan ekstrak.
Ketiga: letakkan tautan file java ke / usr / bin /
perbarui alternatif menggunakan pembaruan-alternatif
Buat tautan simbolis ke Plugin Java di direktori plugin Firefox.
Buat tautan simbolis ke file Java Plugin libnpjp2.so di direktori plugin Firefox:
Semoga ini membantu.
sumber