Как удалить Java 10? Или вернуться к предыдущей версии?

26

Программа обновления Java на моем Mac установила неизвестную версию Java 10.0.1, которую я никогда раньше не слышал. В результате ВСЕ мои java-приложения больше не работают, что делает Java бессмысленным.

В официальной инструкции для удаления Java являются:

  • sudo rm -fr / Библиотека / Интернет \ Подключаемые модули / JavaAppletPlugin.plugin

Что бесполезно, потому что я не использую Java в браузере (кто достаточно сумасшедший, чтобы сделать это?)

  • sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane

Что бесполезно, потому что оно просто удаляет панель настроек

  • sudo rm -fr ~ / Библиотека / Приложение \ Поддержка / Java

Что бесполезно, потому что этот каталог уже пуст

Официальные инструкции по удалению Java на Mac абсолютно ничего не делают.

Если я запускаю мои Java-приложения с помощью java -jar из терминала, они работают. Из терминала я вижу это:

/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    1.8.0_131, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
    1.6.0_65-b14-468, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Итак, из терминала версия Java - 1.8.0_131, которая является моей желаемой версией. С рабочего стола, когда я запускаю приложения с JavaAppLauncher, версия Java - 10.0.1.

Как я могу отменить эту катастрофу, которую Oracle совершил с их автоматическим средством обновления?

Magnetic_dud
источник

Ответы:

4

У меня была такая же проблема: у меня была установлена ​​Java 8, но позже установлена ​​10. Затем я удалил 10, и когда я запустил jar из терминала, он запустился в версии 8, и когда я проверил версию с java -versionпомощью терминала, я вернется java version "1.8.0_181. Однако, когда я запустил .jar из Finder , он запустился в v.10, а также, если бы я перешел на панель настроек Java, версия была указана как версия 10. Это было нежелательно: я пытался полностью удалить v10.

Затем я удалил JavaAppletPlugin с rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.pluginи переустановил Java SE JDK 8 из сети, и вот! это работает сейчас. Когда я запускаю .jar, они работают на Java 8.

Я понимаю, что вы упомянули об этом в своем первом шаге, но я полагаю, что вы не сделали этот шаг? Если я ошибаюсь, у вас другая проблема. Но это решил мой.

postylem
источник
да, я не пытался удалить плагин апплета, потому что в любом случае я отключил его в браузере
Magnetic_dud
Имеет полный смысл. Но, исходя из моего опыта, кажется, что наличие JavaAppletPlugin влияет на то, какая версия Java используется для запуска приложений .jar из Finder. Я удалил JVM v10, но только после удаления JavaAppletPlugin программа поиска перестала использовать v10 для запуска приложений .jar.
постылем
45

Я полагаю, что проблема заключается в переходе на правильный каталог ... Как только вы окажетесь там, где вы должны быть, вы можете запустить команды sudo для удаления любых версий java, которые вы хотите удалить.

Сначала запустите команду в терминале, чтобы определить, какую версию Java вы используете,

java -version

Затем вы можете перейти к надоедливой версии Java, которую вы намереваетесь удалить, используя следующую команду:

cd /Library/Java/JavaVirtualMachines

затем, как только вы увидите JavaVirtualMachinesпуть, введите, lsчтобы увидеть, какие версии Java вы установили,

ls

и, наконец, когда вы знаете, какую версию или версии Java вы хотите удалить:

sudo rm -rf jdk-10.0.1.jdk #or whichever version you want to delete
Колин Ильген
источник
Проблема в том, что версия, отображаемая на панели управления, не соответствует версии Java в терминале. Если я хочу удалить Java 8.171, похоже, что нет никакого пути: imgur.com/a/iIK67bD
Magnetic_dud
И jdk 10.0.1 не было в этой папке
Magnetic_dud
@Magnetic_dud, вы все равно сможете отлаживать, используя структуру файловых каталогов с помощью команды ls, а затем удалять и переустанавливать новый рабочий Jdk или любую версию java, которую вы устанавливаете ..
Колин Ильген,
9

Если у вас более одной версии jdk:

$ ls -l /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel  96 30 avr 15:15 jdk-10.0.1.jdk
drwxr-xr-x  3 root  wheel  96 30 avr 15:24 jdk1.8.0_172.jdk
drwxr-xr-x  3 root  wheel  96 17 oct 10:59 jdk1.8.0_191.jdk

измени свой JAVA_HOME

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
Moccine
источник
-1

Я скачал старую (рабочую) версию с java.com

Фактически, Java 8.171 - это загрузка, показанная по умолчанию. Я не знаю, почему он автоматически обновился до 10.0.1, когда это бета-качество.

Теперь он не будет устанавливать его, он говорит: «Извините, у вас более новая и лучшая 10.0.1 Java»

Для установки запустите явно бесполезные команды, упомянутые в вопросе. Java все еще будет работать в терминале, но тогда установщик позволит вам установить нужную версию, 1.8_171

Теперь отключите обновления, если вы не хотите снова ломать свои приложения. Java представляет собой угрозу безопасности, ее следует обновлять ежемесячно, поэтому убедитесь, что она отключена в вашем браузере.

По какой-то причине, если вы запустите java -version, вы все равно получите:

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Что является еще одной неправильной версией. В любом случае, важно то, что теперь ваши Java-приложения работают, убедитесь, что плагин браузера отключен для вашей безопасности.

Magnetic_dud
источник