Почему оболочка java не получает правильную версию, указанную в JAVA_HOME на macOS? - PullRequest
0 голосов
/ 07 мая 2020

Установлен OpenJDK 14 на macOS High Sierra 10.13.6

Разархивирован и перемещена папка в папку JavaVirtualMachines.

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

$ printenv | grep JAVA
JAVA_14_HOME=/Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home

$ which java
/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java

Почему до сих пор используется более старая версия? Все ответы, которые я прочитал до сих пор, указывают на то, что / usr / bin / java должен делегировать значение JAVA_HOME. Может быть, это sh набор глазных яблок может объяснить это.

$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

$ $JAVA_HOME/bin/java -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7)
OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

1 Ответ

1 голос
/ 07 мая 2020

Вероятно, он набирает Java из PATH, который не изменился только потому, что вы скопировали SDK.

Я настоятельно рекомендую использовать SDKMan (https://sdkman.io/). Он будет управлять всем этим за вас - это отличный инструмент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...