Как понизить версию Java с 9 до 8 на MACOS. Eclipse не работает с Java 9

97

Как понизить версию Java с 9 до 8 на macOS Sierra 10.12.6 (16G29). Я попытался удалить плагин Java и установить Java 8, однако в версиях Java и javac в терминале отображается 9, а в системных настройках - 8. Заранее спасибо!

ОбучениеНовое
источник
Версия MacOS может быть актуальной; подумайте о том, чтобы отредактировать и добавить это к вопросу (не размещать как комментарий).
AJNeufeld 01
вы смотрели wiki.eclipse.org/Configure_Eclipse_for_Java_9 ?
виолончель

Ответы:

308

Вам не нужно понижать оценку. Вы можете запустить несколько версий Java на MacOS. Вы можете установить версию своего терминала с помощью этой команды в MacOS.

# List Java versions installed
/usr/libexec/java_home -V

# Java 11
export JAVA_HOME=$(/usr/libexec/java_home -v 11)

# Java 1.8
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

# Java 1.7
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

# Java 1.6
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

Вы можете установить значение по умолчанию в .bashrc, .profile или .zprofile.

Mdeterman
источник
3
Большое спасибо, это помогло мне! Жаль, что панель управления Java в MacOS не предоставляет такие настройки.
sesm
Не могли бы вы уточнить свой ответ? Что /usr/libexec/java_home -v 11значит?
Sandeepan Nath
1
Делаю export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)и export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)не решаю мою проблему. Я уже перезапустил мой терминал.
HendraWD
145

Вот как я это сделал. Вам не нужно удалять Java 9 или более новую версию.

Шаг 1: Установите Java 8

Вы можете загрузить Java 8 отсюда: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Шаг 2: После установки Java 8. Подтвердите установку всех версий. Введите следующую команду в своем терминале.

/usr/libexec/java_home -V

Шаг 3: отредактируйте .bash_profile

sudo nano ~/.bash_profile

Шаг 4: Добавьте 1,8 по умолчанию. (Добавьте строку ниже в файл bash_profile).

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

Теперь нажмите CTRL + X, чтобы выйти из bash. Нажмите «Y», чтобы сохранить изменения.

Шаг 5. Перезагрузите bash_profile

source ~/.bash_profile

Шаг 6. Подтвердите текущую версию Java

java -version
VK321
источник
Можно ли таким же образом изменить версию челюсти? Потому что java -version сообщает, что он изменился, но javaws по-прежнему работает новейшим доступным.
Lapkritinis
11

Если на вашем Mac установлено несколько версий Java, вот быстрый способ изменить версию по умолчанию с помощью терминала. В этом примере я собираюсь переключить Java 10 на Java 8.

$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    10.0.1, x86_64: "Java SE 10.0.1"    /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
    1.8.0_171, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home

Затем в свой .bash_profile добавьте следующее.

# Java 8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

Теперь, если вы снова попробуете java -version, вы должны увидеть нужную версию.

$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
Дорджи Дхондуп
источник
4

Поскольку он позволяет установить более одной версии java, я неосознанно установил много трех версий, но это указывало на последнюю версию "11.0.2"

Я смог решить эту проблему, выполнив следующие шаги, чтобы перейти на "1.8"

$java -version

openjdk версия "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (сборка 11.0.2 + 9) 64-разрядная серверная виртуальная машина OpenJDK 18.9 (сборка 11.0.2 + 9, смешанный режим)

cd /Library/Java/JavaVirtualMachines
ls

jdk1.8.0_201.jdk jdk1.8.0_202.jdk openjdk-11.0.2.jdk

sudo rm -rf openjdk-11.0.2.jdk
sudo rm -rf jdk1.8.0_201.jdk
ls

jdk1.8.0_202.jdk

java -version

версия java "1.8.0_202-ea" Java (TM) SE Runtime Environment (сборка 1.8.0_202-ea-b03) 64-разрядная серверная виртуальная машина Java HotSpot (TM) (сборка 25.202-b03, смешанный режим)

кешав
источник
Я бы не стал удалять файлы в вашей системе. Вместо этого просто перенаправьте $JAVA_HOMEпеременную env.
simeg 08
3

Старый вопрос, но только что возникла эта проблема / у тупой jira проблемы с java 10 /, и я не нашел здесь простого ответа, поэтому просто оставлю его:

$ /usr/libexec/java_home -Vпоказывает установленные версии и их расположение, чтобы вы могли просто удалить /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>. Вуаля

Дэн
источник
1

Самым простым решением может быть установка Java 8 параллельно с Java 9 (если она еще не существует) и указание JVM, которая будет использоваться явно в eclipse.ini. Вы можете найти описание этого параметра, включая описание того, как его найти eclipse.iniна Mac, в Eclipsepedia.

Лотар
источник
-2

Вы можете удалить «JavaAppletPlugin.plugin», найденный в Spotlight или Finder, а затем переустановить загруженную Java 8.

Это просто решит вашу проблему.

голосуда
источник