it-swarm.com.ru

Как удалить JDK в Mac OS?

Люди - я сталкиваюсь с проблемами при попытке удалить JDK с моего MAC (macOS High Sierra Версия 10.13.4 - 17E199). У меня установлено два экземпляра JDK, и я хочу удалить их оба.

Я следую инструкциям, перечисленным на этой странице: https://docs.Oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html

Я пытаюсь запустить эту команду в каталоге/Library/Java/JavaVirtualMachines, которая выдает ошибку, что у меня нет разрешения.

rm -rf jdk1.8.0_06.jdk

Я являюсь администратором машины и не уверен, какое еще разрешение мне нужно. Я пытался как администратор и как пользователь root безуспешно.

Пожалуйста, поделитесь своими мыслями по этому поводу.

6
Shivank Sharma

Из официального руководства Oracle

Перейдите к /Library/Java/JavaVirtualMachines и удалите каталог, имя которого соответствует следующему формату:

/Library/Java/JavaVirtualMachines/jdkmajor.minor.macro[_update].jdk

Например, чтобы удалить 8u6:

%rm -rf jdk1.8.0_06.jdk

Не пытайтесь удалить Java, удалив инструменты Java из /usr/bin. Этот каталог является частью системного программного обеспечения, и любые изменения будут сброшены Apple при следующем обновлении ОС.

Чтобы удалить системные файлы, вам нужно добавить Sudo перед командой rm -rf.

15
Danila Zharenkov

Этот ответ верен для JDK 8, но было бы неплохо отметить, что Oracle предоставляет разные инструкции для каждого выпуска JDK. В некоторых версиях структура ссылок немного меняется, но обычно вы можете перейти по адресу https://docs.Oracle.com/en/Java/javase , выбрать свой выпуск JDK и найти ссылку "Руководство по установке" в Обзорная группа.

Например:

Кроме того, файлы в/usr/bin являются not частью JDK, поэтому вы не хотите их удалять. В системе, в которой никогда не устанавливался JDK:

$ ls -l /usr/bin/Java
lrwxr-xr-x  1 root  wheel  74 Sep 27 17:08 /usr/bin/Java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/Java

$ Java -version
No Java runtime present, requesting install.

Очевидно, macOS включает базовую версию JDK, где каждая команда является заглушкой, которая просто печатает это сообщение и открывает диалоговое окно в графическом интерфейсе.

1
Shawn Carey