Ganti openjdk dengan oracle-jdk di Ubuntu

53

Saya memiliki sistem ubuntu dan saya ingin mengganti openjdk saya dengan oracle-jdk.

Namun jika saya menghapus open-jdk saya dan kemudian menginstal oracle-jdk, ketika saya mencoba menginstal beberapa paket mereka ingin menginstal openjdk dan saya tidak menginginkan ini.

Apakah ada cara untuk menginstal paket-paket itu di atas oracle-jdk? Salah satu paket tersebut adalah freemind.

ali kecil
sumber
Paket mana yang membutuhkan open-jdk yang ingin Anda instal? (Selain freemind)
Seth
Saya menangkap oracle-jdk menambahkan dirinya ke PATHdalam /etc/profile.d/jdk.sh. Menghapus file ini dan memulai shell baru diizinkan update-alternativesuntuk melakukan tugasnya.
jozxyqk

Jawaban:

78

Anda dapat sepenuhnya menghapus OpenJDKdan menginstal baru Oracle Java JDKdengan mengikuti langkah-langkah ini:

  1. Hapus OpenJDKsepenuhnya dengan perintah ini:

    sudo apt-get purge openjdk-\*
  2. Unduh di Oracle Java JDK sini .

    Catatan: unduh file yang sesuai, misalnya jika sistem Anda adalah x64 Ubuntu (yaitu, Debian) file unduhan diberi nama seperti ini:jdk-8u51-linux-x64.tar.gz

    Untuk menemukan versi OS Anda, periksa di sini

  3. Membuat folder bernama javadalam /usr/local/dengan perintah ini:

    sudo mkdir -p /usr/local/java
  4. Salin file yang Diunduh di direktori /usr/local/java. Untuk melakukan ini, cdke direktori tempat file yang diunduh berada dan gunakan perintah ini untuk menyalin file itu ke /usr/local/java/:

    sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/
  5. CD ke /usr/local/java/direktori dan ekstrak file yang disalin dengan menggunakan perintah ini:

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
  6. Setelah ekstraksi, Anda harus melihat folder bernama jdk1.8.0_51.

  7. Perbarui PATHfile dengan membuka /etc/profilefile dengan perintah sudo nano /etc/profiledan tempel berikut ini di akhir file:

    JAVA_HOME=/usr/local/java/jdk1.8.0_51
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH
    
  8. Simpan dan keluar.

  9. Beri tahu sistem bahwa versi Oracle Java baru tersedia dengan perintah berikut:

    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_51/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_51/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_51/bin/javaws" 1
    
  10. Jadikan Oracle Java JDK sebagai default dengan perintah berikut ini:

    sudo update-alternatives --set java /usr/local/java/jdk1.8.0_51/bin/java
    sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_51/bin/javac
    sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_51/bin/javaws
    
  11. Muat ulang sytem wide PATH / etc / profile dengan perintah ini:

    source /etc/profile
  12. Mulai ulang sistem Anda.

  13. Periksa versi Java JDK dengan java -versionperintah. Jika instalasi berhasil, itu akan ditampilkan seperti berikut:

    java version "1.8.0_51"
    Java(TM) SE Runtime Environment (build 1.8.0_51-xxx)
    Java HotSpot(TM) Server VM (build 25.51-xxx, mixed mode)
    

Itu dia!

Catatan: Kami berasumsi bahwa file yang diunduh bernama jdk-8u51-linux-x64.tar.gzdan menggunakan nama ini di semua perintah yang digunakan dalam langkah 2, 4 dan 5. Ini mungkin tergantung pada jenis OS, jenis prosesor (yaitu, 32bit atau 64bit)

Nithi2023
sumber
1
Selain ini adalah cara yang benar untuk menginstal secara manual oracle-jdk ada paket yang tersedia dari WebUpd8 PPA yang akan diperbarui juga. Jadi tidak perlu menginstal setiap versi baru secara manual. Lihat jawaban saya di sini: askubuntu.com/questions/466166/…
lschuetze
2
Alih-alih menggunakan direktori jdk1.8.0_51, buat symlink bernama hanya "jdk" ke direktori ini dan lain kali Anda memperbarui cukup ekstrak tarball JDK dan buat kembali symlink dan Anda selesai.
ColinM
untuk pengguna ubuntu: ada metode sangat mudah di bawah ini dari @mihaic yang bekerja dengan baik untuk saya
Carson Ip
You are rockstar
Bhupinder
Harap dicatat bahwa jika Anda ingin mengunduh JDK di Server Ubuntu (tanpa GUI), Anda dapat menggunakan perintah berikut: wget --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/9.0.4+11/c2514751926b4512b076cc82f959763f/jdk-9.0.4_linux-x64_bin.tar.gz" Anda selalu dapat menyalin versi terbaru dengan membuka kembali halaman unduhan Oracle dan menghasilkan yang baru.
Toan Nguyen
20

Anda tidak perlu menghapus openjdk untuk menggunakan / menginstal jdk oracle. Cukup instal jdk oracle dan konfigurasikan java mana yang ingin Anda gunakan dengan mengonfigurasinya dengan:

sudo update-alternatives --config java

Anda dapat menemukan bantuan lebih lanjut di sini: https://help.ubuntu.com/community/Java

Myx
sumber
Saya perlu cara untuk hanya memiliki satu java di ubuntu saya. tnx.
ali kecil
Ini jawaban yang bagus. Groovy pada Debian jessie memaksa openjdk untuk diinstal, tetapi pekerjaan yang saya lakukan memerlukan (jangan tanya) Oracle JDK untuk dikompilasi. Opsi ini memungkinkan saya untuk membiarkan openjdk dan oracle jdk terinstal sehingga semuanya berjalan dengan baik. Terima kasih!
sanimalp
11

Diuji di Ubuntu 14.04 / 16.04. Dalam tiga langkah:

  1. Instal oracle-java7-installer(atau oracle-java8-installer) dari repositori webupd8team

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
    
  2. Pastikan itu bekerja dengan perintah berikut:

    java -version

    Seharusnya menampilkan sesuatu yang mirip dengan:

    java version "1.7.0_76"
    Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)
    
  3. (Opsional) Hapus open-jdk jika Anda benar-benar ingin / perlu:

    sudo apt-get purge openjdk-\*

Anda dapat menemukan informasi lebih lanjut di sini

toto_tico
sumber
Ikuti arahan Anda dan dapatkan Unable to find java executable. Check JAVA_HOME and PATH environment variables.kesalahan
Zack S
terkejut menemukan jawaban saya sendiri satu tahun kemudian, ini masih berfungsi untuk Ubuntu 16.04 danoracle-java8-installer
toto_tico
Mendapat ini ketika menambahkan repo:W: The repository 'http://ppa.launchpad.net/natecarlson/maven3/ubuntu xenial Release' does not have a Release file. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
crockpotveggies
8

Setelah menghapus openjdk, coba pendekatan ini yang berhasil untuk saya:

Instal oracle jdk 7 di server ubuntu (diuji dengan ubuntu 12.0.4)

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

beberapa info lebih lanjut di sini: https://launchpad.net/~webupd8team/+archive/java

(catatan untuk mengadaptasi ini untuk versi jdk Anda)

mihaic
sumber