Menghapus Java 8 JDK dari Mac


247

Jadi saya menginstal beta JDK 8 beberapa waktu lalu untuk melihat beberapa contoh. Saya pikir pasti sekarang, mudah untuk mengubah antar versi.

Melakukan pengembangan Play dengan IntelliJ. Untuk beberapa alasan, IntelliJ mengkompilasi dengan 8 meskipun:

  • Saya memiliki set kompiler di Preferensi untuk menggunakan 1.6
  • Seharusnya menggunakan SBT melalui build eksternal, tetapi sbt dari command line berfungsi
  • JAVA_HOME menunjuk ke JDK 6.

Jika saya pergi ke halaman Preferensi Java, itu menunjukkan 8 diinstal, tetapi tidak ada pilihan untuk menghapusnya dan tidak melihat versi lain.

Ketika saya melakukannya which java, itu memberitahu saya /usr/bin/javadan saya lakukan /usr/bin/java -versiondan mengembalikan 1.6.

Catatan: dengan sedikit mengutak-atik, Anda dapat menggunakan IntelliJ dan JDK7, lihat di sini .


1
Mengapa Anda ingin menggunakan JDK 6? Sudah EOL, lihat oracle.com/technetwork/java/eol-135779.html . Jika Anda tidak menginginkan versi beta (JDK 8), Anda harus pindah ke JDK 7.
kmorris

1
JDK7 pada Mac masih berantakan. Sudah banyak masalah dengannya. Tapi saya akan mengambil 7 pada saat ini. (Meskipun, jika Anda tidak tahu, JetBrains masih mengatakan mereka tidak mendukungnya di mac ..!)
Rob

3
Juga pertimbangkan untuk menginstal jdk sebagai tong kayu rumahan - (batalkan) pemasangan / peningkatan lalu adalah perintah pembuatan bir sederhana.
Agoston Horvath

2
Sepertinya menggunakan Homebrew& Jenvuntuk mengelola Javaversi yang diinstal adalah cara untuk pergi. lihat hanxue-it.blogspot.ch/2014/05/...
Adrien Be

1
Saya menemukan itu berguna untuk referensi rumusan java homebrew-tong tentang bagaimana mereka menghapus jdk. jdk9 & jdk8 .
Bruce Sun

Jawaban:


658

Saya dapat membatalkan jdk 8 di maverick berhasil melakukan langkah-langkah berikut:

Jalankan perintah ini untuk hanya menghapus JDK

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk<version>.jdk

Jalankan perintah ini jika Anda ingin menghapus plugin

sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/PrivilegedHelperTools/com.oracle.java.JavaUpdateHelper
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist

2
Satu-satunya masalah adalah bahwa sekarang tidak akan membiarkan saya menginstal jdk7. Saya menjalankan installer tetapi baris perintah masih mengatakan "Tidak ada Java runtime hadir, meminta install" ... itu bohong karena tidak meminta install.
geoidesic

4
Ini sangat buruk karena Anda juga menghapus panel preferensi di System Preferences. Jalankan saja perintah pertama dan biarkan yang lain keluar.
Aquarelle

1
Selain itu, setelah langkah-langkah ini, MAC secara otomatis mengambil java alternatif sebagai default jika sudah diinstal.
Ashokchakravarthi Nagarajan

6
Untuk lebih jelasnya, ini untuk menghapus semua hal Java. Jika Anda karena suatu alasan ingin mempertahankan versi Java yang berbeda, jangan hapus apa pun kecuali JDK itu sendiri (perintah pertama).
mikl

1
Anda menyelamatkan saya dari sakit kepala yang besar .. Tuhan memberkati Anda
user578386

85

Anda hanya perlu menggunakan perintah ini

sudo rm -rf /Library/Java/*
sudo rm -rf /Library/PreferencePanes/Java*
sudo rm -rf /Library/Internet\ Plug-Ins/Java*

2
yang ini bekerja untuk saya di OSX El Capitan, terima kasih :)
PirateApp

10
Dengan melakukannya dengan cara ini Anda menghapus SEMUA java jdk, tidak hanya 8. Hati-hati.
Andres

Bagaimana cara menginstalnya lagi setelah operasi seperti itu?
Ruslan Leshchenko

14

Mengelola versi Java di Mac OSX adalah mimpi buruk. Saya baru-baru ini beralih menggunakan JDK 1.7, menghapus JDK 6 sepenuhnya dari MacBook saya (saya juga memiliki jejak JDK 5 - laptop ini telah diperbarui beberapa kali).

Inilah yang saya lakukan untuk pindah ke JDK 7.

1) unduh yang terbaru dari Oracle ( http://www.oracle.com/technetwork/java/javase/downloads/index.html ) dan instal.

2) Hapus (menggunakan rm - jika Anda memiliki cadangan, Anda dapat mengembalikan jika Anda membuat kesalahan) semua file JDK6 dan JRE6.

Pada tahap ini, Anda harus melihat:

% ls /Library/Java/JavaVirtualMachines/
jdk1.7.0_nn.jdk

(dan tidak ada lagi)

3) Di folder / Library / Java / Extensions /, Anda harus menghapus semua file jar lama, yang terkait dengan rilis Java lainnya. Jika tidak, Anda akan mendapatkan pesan terkenal tentang versi tools.jar yang salah (lihat Gagal membangun setelah memutakhirkan ke Java7, Missing Tools.jar dan versi kelas yang buruk ). Tidak cukup untuk mengganti nama file jar, karena Java akan membuka setiap jar di folder itu - Saya memindahkan tambang ke sub-direktori. Aman untuk menghapusnya setelah Anda tahu segalanya berfungsi.

Saya belum menemukan bahwa saya perlu mengatur JAVA_HOME untuk hal-hal sederhana.

Catatan : Saya baru saja mencoba menjalankan IntelliJ dan itu tidak akan mulai kecuali Anda menginstal JDK 6 Apple (lihat http://youtrack.jetbrains.com/issue/IDEA-93710 ). Hal yang sama berlaku untuk Eclipse. Netbeans berfungsi dengan baik.


1
Pertanyaan asli yang diedit untuk memasukkan tautan ke pertanyaan SO lainnya tentang cara IntelliJ menggunakan JDK7 (di Mac).
Rob

3
Mengelola versi Java pada Mac adalah MIMPI BURUK MUTLAK. Saya dapat menginstal Oracle Java 8 dan mengelola berbagai versi Java di Ubuntu dalam waktu kurang dari 5 menit. Saya telah menghabiskan beberapa jam sekarang mencoba untuk mendapatkan Oracle Java 8 dan berjalan di OSX.
JohnMerlino

11

Gunakan /usr/libexec/java_home; Saya menemukan alias dan fungsi ini cukup berguna di ~/.profile:

alias java_ls='/usr/libexec/java_home -V 2>&1 | cut -s -d , -f 1 | cut -c 5-'
function java_use() {
    export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    java -version
}

Saya pikir ini hanya akan bekerja untuk lingkungan shell Anda bukan lingkungan aplikasi (seperti Intellij) dapatkan ketika Anda mengklik dua kali ikonnya.
NBW

@NBW AFAIK aplikasi Java di OSX memiliki Versi Java mereka sendiri diatur dalam file Info.plist mereka (atau sesuatu di sepanjang baris itu, misalnya kisaran versi apa yang mereka dukung atau sesuatu). Perubahan ke JAVA_HOME hanya akan berlaku untuk sesi terminal saat ini, tapi saya pikir / usr / libexec / java_home mungkin berdampak pada sesi / lingkungan lain. (Saya tidak dapat dengan mudah memverifikasinya, karena saya memaksa java_use 1.7 di ~ / .profile saya)
Grégory Joseph

Dan jika Anda juga ingin melihat apakah JDK adalah 32bit atau 64bit, sesuatu yang alias java_ls='/usr/libexec/java_home -V 2>&1 | sed "/^ \(.*\) \(.*\),/!d;/^\s*$/d;s/^ \(.*\) \(.*\), \(.*\):\(.*\)$/\2 (\3)/g"'akan dilakukan.
Moreaki

10

Saya nuked semuanya Java, JDK, dan oracle. Saya menjalankan Java 8 di OSX El Capitan

Jawaban lain hilang banyak hal. Jawaban ini mencakup lebih banyak pangkalan.

Selamat tinggal, shovelware.

sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist
sudo rm -rf /System/Library/Frameworks/JavaVM.framework
sudo rm -rf /usr/bin/java
sudo rm -rf /usr/bin/javac
sudo rm -rf /usr/bin/javadoc
sudo rm -rf /usr/bin/javah
sudo rm -rf /usr/bin/javap
sudo rm -rf /usr/bin/javaws
sudo rm -rf /var/db/receipts/com.oracle.jdk8u65.bom
sudo rm -rf /var/db/receipts/com.oracle.jdk8u65.plist
sudo rm -rf /var/db/receipts/com.oracle.jre.bom
sudo rm -rf /var/db/receipts/com.oracle.jre.plist
sudo rm -rf /var/root/Library/Preferences/com.oracle.javadeployment.plist
sudo rm -rf ~/Library/Preferences/com.oracle.java.JavaAppletPlugin.plist
sudo rm -rf ~/Library/Preferences/com.oracle.javadeployment.plist
sudo rm -rf ~/.oracle_jre_usage

2
tidak ada izin untuk menghapus file ini "/System/Library/Frameworks/JavaVM.framework"
Nazariy

2
@Nazariy beberapa dari ini mungkin tidak memerlukan sudotetapi saya hanya menggunakannya. Singkatnya: jangan pernah menginstal Java lagi.
Terima kasih

1
@Nazariy System Integrity Protection
Cameron Lowell Palmer

1
AFAIK itu adalah JDK default yang dipasang oleh Apple. Anda tidak perlu menghapus ini.
Kutsan Kaplan

1
Harap tinjau daftar file Anda. File di / usr / bin adalah bagian dari sistem dasar. Lihat docs.oracle.com/javase/8/docs/technotes/guides/install/…
Andres


4

Jika Anda telah menginstal jdk8 pada Mac Anda tetapi sekarang Anda ingin menghapusnya, jalankan saja perintah di bawah ini "sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk"


Setelah menghapus folder jdk, entri untuk Java masih muncul di Launchpad -> System Preferences
Drew

Ini bekerja untuk saya juga .... Terima kasih banyak, membantu memperbaiki Fixing Unsupported major.minor versi 52.0 di Android Studio juga.
Pradeep Chakravarti Gudipati

@Drew dari apa yang dapat saya lakukan, Java dalam preferensi tidak ada hubungannya dengan JDK (preferensi adalah yang memuat halaman web pada mesin Anda misalnya, JDK adalah tentang kompilasi program lain yang menggunakan Java), jadi memilikinya dalam preferensi sebenarnya bukan masalah
DaveRGP

3

Jika Anda menghapus semua file tetapi masih gagal, gunakan baris ini:

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk

2
Ini tidak menambahkan apa pun. Jawaban yang diterima sudah mengatakan ini dan lebih
Chris Mukherjee

3

Untuk menghapus instalasi java versi apa pun di mac, cukup lakukan:

sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-YOUR_ACCURATE_VERSION.jdk/ 
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin 
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane

1

Dua cara Anda dapat melakukannya:

  1. Menghapus JDK langsung dari Users-> Library -> Java -> VirtualMachines -> lalu hapus folder jdk secara langsung untuk menghapus instalan java.

  2. Dengan mengikuti perintah: (copot versi java 1.8)

pastikan Anda berada di direktori home dengan menggunakan perintah di bawah ini, sebelum Anda menulis perintah:

cd ~/

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.jdk
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/Application\ Support/Oracle/Java

1

di Mac Hapus Versi Jawa menggunakan 3 Perintah ini

versi java

sudo rm -rf / Library / Java / *

sudo rm -rf / Library / PreferencePanes / Java *

sudo rm -rf / Library / Internet \ Plug-Ins / Java *

Lari

versi java

// Lihat java berhasil dihapus.

java-versi sudo rm -rf / Library / Java / * sudo rm -rf / Library / PreferencePanes / Java * sudo rm -rf / Perpustakaan / Internet \ Plug-Ins / Java *

Jalankan java -versi

Instal Java 8 Link

masukkan deskripsi gambar di sini

Unduh Paket dan klik next next next


JDK 102 MB .PKG dipasang
Keshav Gera

-12

Ini bekerja dengan baik untuk saya:

sudo rm -rf /Library/Java/JavaVirtualMachines
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.