Як знизити рівень Java з 9 на 8 на macOS Sierra 10.12.6 (16G29). Я спробував видалити плагін Java і встановив Java 8, однак версія Java і javac відображає 9 в терміналі, але в системних налаштуваннях це 8. Дякую заздалегідь!
Як знизити рівень Java з 9 на 8 на macOS Sierra 10.12.6 (16G29). Я спробував видалити плагін Java і встановив Java 8, однак версія Java і javac відображає 9 в терміналі, але в системних налаштуваннях це 8. Дякую заздалегідь!
Відповіді:
Вам не потрібно знижувати оцінку. Ви можете запустити більше однієї версії 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
/usr/libexec/java_home -v 11означає?
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)і export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)не вирішити мою проблему. Вже перезапустив свій термінал.
Ось як я це зробив. Вам не потрібно видаляти 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
Якщо на вашому 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)
Оскільки це дозволяє встановити більше однієї версії Java, я встановив багато 3 версії несвідомо, але це вказувало на останню версію "11.0.2"
Я міг вирішити цю проблему, виконавши наведені нижче дії, щоб перейти до "1.8"
$java -version
openjdk версія "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (збірка 11.0.2 + 9) OpenJDK 64-розрядний сервер VM 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) Java HotSpot (TM) 64-бітний сервер VM (збірка 25.202-b03, змішаний режим)
$JAVA_HOMEзмінну env.
Старе питання, але у нього просто була проблема (німий джира мав проблеми з Java 10), і я не знайшов тут простої відповіді, тому просто залишу її:
$ /usr/libexec/java_home -Vпоказує встановлені версії та їх розташування, так що ви можете просто видалити /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>. Вуаля
Найпростішим рішенням може бути встановлення Java 8 паралельно Java 9 (якщо вона все ще не існує) і вказати JVM, який буде явно використовуватися в eclipse.ini. Ви можете знайти опис цього налаштування, включаючи опис того, як знайти eclipse.iniна Mac на Eclipsepedia