Видалення Java 8 JDK з Mac


247

Тому я деякий час тому встановив бета-версію JDK 8, щоб переглянути деякі приклади. Напевно я подумав, що змінити версії легко.

Деякі розробки Play з IntelliJ. Чомусь IntelliJ збирає 8, хоча:

  • У мене встановлений компілятор у Налаштуваннях для використання 1.6
  • Нібито він використовує SBT через зовнішню збірку, але sbt з командного рядка працює
  • JAVA_HOME вказує на JDK 6.

Якщо я перейду на сторінку "Налаштування Java", на ній відображається 8 встановлених, але немає можливості її видалити, і вона не бачить жодної з інших версій.

Коли я це роблю which java, він говорить мені, /usr/bin/javaі я роблю, /usr/bin/java -versionі він повертається 1.6.

Примітка: за допомогою невеликого хитання ви можете використовувати IntelliJ та JDK7, дивіться тут .


1
Чому ви хочете використовувати JDK 6? Це було EOL, дивіться oracle.com/technetwork/java/eol-135779.html . Якщо ви не хочете бета-версії (JDK 8), перейдіть до JDK 7.
kmorris

1
JDK7 на Mac все ще безлад. Мали багато проблем з цим. Але я б у цей момент взяв 7. (Хоча, якщо ви цього не знали, JetBrains все ще говорить, що вони не підтримують його на mac ..!)
Роб

3
Також розглянути можливість встановлення jdk як домашньої скриньки - встановлення / оновлення (не), то це проста команда приготування.
Агостон Хорват

2
Здається, використання Homebrew& Jenvкерування встановленою Javaверсією - це шлях. дивись hanxue-it.blogspot.ch/2014/05/…
Adrien Be

1
Мені було корисно посилатись на формули Java-homebrew-cask про те, як вони видаляють jdk. jdk9 & jdk8 .
Брюс Нд

Відповіді:


658

Мені вдалося видалити jdk 8 у mavericks, успішно виконавши наступні дії:

Виконайте цю команду, щоб просто видалити JDK

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

Запустіть ці команди, якщо ви хочете видалити плагіни

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
Єдина проблема полягає в тому, що тепер він не дозволить мені встановити jdk7. Я запускаю інсталятор, але в командному рядку все ще написано "Ні часу виконання Java, не вимагає встановлення" ... він бреше, тому що він не вимагає встановлення.
геодезичний

4
Це дійсно погано, оскільки ви також видаляєте панель налаштувань у налаштуваннях системи. Просто запустіть першу команду і залиште інші.
Акварель

1
Крім того, після цих кроків MAC автоматично приймає альтернативну java за замовчуванням, якщо вона вже встановлена.
Ashokchakravarthi Nagarajan

6
Щоб було зрозуміло, це потрібно для видалення всіх Java-речей. Якщо ви чомусь хочете зберегти іншу версію Java навколо, не видаляйте нічого, крім самого JDK (перша команда).
mikl

1
Ти врятував мене від величезного головного
болю..год

85

Вам просто потрібно використовувати ці команди

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

2
цей працював для мене на OSX El Capitan, спасибі :)
PirateApp

10
Роблячи це таким чином, ви видаляєте ВСІ java jdk, не тільки 8. Обережно.
Андрес

Як встановити його знову після таких операцій?
Руслан Лещенко

14

Управління версіями Java на Mac OSX - це кошмар. Нещодавно я перейшов на використання JDK 1.7, повністю видаливши JDK 6 зі свого MacBook (у мене також були сліди JDK 5 - цей ноутбук кілька разів оновлювався).

Ось що я зробив для переходу на JDK 7.

1) завантажте останнє з Oracle ( http://www.oracle.com/technetwork/java/javase/downloads/index.html ) та встановіть його.

2) Видаліть (використовуючи rm - якщо у вас є резервні копії, ви можете відновити, якщо ви помилилися) всі файли JDK6 та JRE6.

На цьому етапі ви повинні побачити:

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

(і більше нічого)

3) У папці / Бібліотека / Java / розширення / вам потрібно буде видалити всі старі файли jar, ті, що відповідають іншим випускам Java. Якщо цього не зробити, ви отримаєте сумнозвісне повідомлення про неправильну версію tools.jar (див. Помилки збірок після оновлення до версії Java7, Missing Tools.jar та погані версії класу ). Для перейменування файлів jar недостатньо, тому що Java відкриє кожну банку в цій папці - я перемістив шахту в підкаталог. Видалити їх безпечно, як тільки ви зрозумієте, що все інше працює.

Я не знайшов, що мені потрібно встановити JAVA_HOME для простих речей.

Примітка . Щойно я спробував запустити IntelliJ, і він не запуститься, якщо у вас не встановлений JDK 6 Apple (див. Http://youtrack.jetbrains.com/issue/IDEA-93710 ). Те саме стосується і затемнення. Netbeans прекрасно працює.


1
Відредаговано оригінальне запитання, щоб включити посилання на інше запитання про те, як IntelliJ використовувати JDK7 (на Mac).
Роб

3
Управління версією Java на Mac - це АБСОЛЮТНА НІЧНА МАРА. Мені вдалося встановити Oracle Java 8 і керувати різними версіями Java на Ubuntu за 5 хвилин. Зараз я витратив декілька годин на те, щоб підключити та запустити Oracle Java 8 на OSX.
ДжонМерліно

11

Використання /usr/libexec/java_home; Я знайшов ці псевдоніми та функції дуже корисними в моєму ~/.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
}

Я думаю, що це буде працювати тільки для вашого середовища оболонки, а не для середовища, яке отримує додаток (наприклад, Intellij), коли ви двічі клацніть його значок.
NBW

@NBW AFAIK Програми Java для OSX мають свій власний Java-версію, встановлений у файлі Info.plist (або щось у цьому рядку, наприклад, який діапазон версій вони підтримують чи щось). Зміна JAVA_HOME стосуватиметься лише поточного сеансу терміналу, але я думаю, що / usr / libexec / java_home може вплинути на інші сеанси / середовища. (Я не можу легко перевірити це, тому що я змушую java_use 1.7 у своєму ~ / .profile)
Grégory Joseph

І якщо ви також хочете побачити, чи є JDK 32-бітним або 64-бітовим, щось alias java_ls='/usr/libexec/java_home -V 2>&1 | sed "/^ \(.*\) \(.*\),/!d;/^\s*$/d;s/^ \(.*\) \(.*\), \(.*\):\(.*\)$/\2 (\3)/g"'буде зроблено за принципом волі.
Мореакі

10

Я впорядкував усе Java, JDK та oracle. Я працював на Java 8 на OSX El Capitan

В інших відповідях бракувало тонни речей. Ця відповідь охоплює набагато більше підстав.

До побачення, лопати.

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
немає дозволу на видалення цього файлу "/System/Library/Frameworks/JavaVM.framework"
Nazariy

2
@Nazariy деякі з них можуть не потребувати, sudoале я все одно просто використовував. Коротка історія: ніколи більше не встановлюйте Java.
Дякую

1
Захист цілісності @Nazariy
Камерон Лоуелл Палмер

1
AFAIK - це стандартний JDK, встановлений Apple. Видаляти це не потрібно.
Куцан Каплан

1
Перегляньте свій список файлів. Файли в / usr / bin є частиною базової системи. Дивіться docs.oracle.com/javase/8/docs/technotes/guides/install/…
Андрес

7

Ось офіційний документ про видалення JDK.

http://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html#A1096903


Просто зробив це знову, це не вийшло. Закінчивши "у вас є новіша версія (та її мертве посилання)."
Роб

3
Ці посилання говорили:, cd '/Library/Java/JavaVirtualMachines/'то sudo rm -rf YOURVERSION.jdk, тобтоrm -rf jdk1.8.0_06.jdk
Алан Донг,

4

Якщо ви встановили jdk8 на свій Mac, але тепер ви хочете його видалити, просто запустіть нижче команду "sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk"


Після видалення jdk папки запис для Java все ще відображається в Launchpad -> System Preferences
Drew

Це працювало і для мене .... Дякую тонну, допомогли виправити помилку Fixing Unsupported major.minor версії 52.0 і в Android Studio.
Pradeep Chakravarti Gudipati

@ З урахуванням того, що я можу взяти на себе, Java в перевазі не має нічого спільного з JDK (переваги - це те, що завантажує веб-сторінки на вашу машину, наприклад, JDK - це компіляція інших програм за допомогою Java), тому маючи це в налаштуваннях насправді не проблема
DaveRGP

3

Якщо ви видалите всі файли, але вони все ще не вдається, скористайтеся цим рядком:

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

2
Це нічого не додає. Прийнята відповідь вже говорила про це та інше
Кріс Мукерджі

3

Щоб видалити Java будь-якої версії на mac, просто виконайте такі дії:

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

Два способи зробити це:

  1. Видалення JDK безпосередньо з користувачів-> Бібліотека -> Java -> VirtualMachines -> та видаліть папку jdk безпосередньо для видалення Java.

  2. Виконуючи команду: (видаліть версію java 1.8)

переконайтеся, що ви перебуваєте в домашньому каталозі, використовуючи команду нижче, перш ніж написати команду:

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

у версії Mac Видалити версію Java за допомогою цих 3 команд

java -версія

sudo rm -rf / Бібліотека / Java / *

sudo rm -rf / Бібліотека / PreferencePanes / Java *

sudo rm -rf / Бібліотека / Інтернет \ Плагіни / Java *

Біжи

java -версія

// Див. Java було успішно видалено.

java -version sudo rm -rf / Бібліотека / Java / * sudo rm -rf / Бібліотека / PreferencePanes / Java * sudo rm -rf / Бібліотека / Інтернет \ Plug-Ins / Java *

Виконати java -версію

Встановіть Java 8 Link

введіть тут опис зображення

Завантажте пакет і натисніть на наступний наступний


JDK 102 MB .PKG intsalled
Кешав Гера

-12

Це прекрасно працювало для мене:

sudo rm -rf /Library/Java/JavaVirtualMachines
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.