Установка JAVA_HOME в .bash_profile не возвращает правильный путь

#java #apache-spark

#java #apache-spark

Вопрос:

Я использую macOS Catalina 10.15.1. У меня несколько версий Java, и я хочу указать JAVA_HOME путь к одной из них, но, похоже, это не работает.

Вот что у меня есть:

 $ /usr/libexec/java_home -V
 
 Matching Java Virtual Machines (3):
    13, x86_64: "OpenJDK 13"    /Library/Java/JavaVirtualMachines/openjdk-13.jdk/Contents/Home
    1.8.0_275, x86_64:  "AdoptOpenJDK 8"    /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
    1.8.0_241, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home
 

~/.bash_profile :

 # tried these:
#export JAVA_HOME_8=$(/usr/libexec/java_home -v1.8)
#export JAVA_HOME=$JAVA_HOME_8
# weren't working so tried this instead:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
 
 $ source ~/.bash_profile
$ java -version
 
 openjdk version "13" 2019-09-17
OpenJDK Runtime Environment (build 13 33)
OpenJDK 64-Bit Server VM (build 13 33, mixed mode, sharing)
 

Ожидал java -version вернуть версию 8, но, похоже, я получаю версию 13? Не знаю почему. Один из таких моментов:/ moments …есть идеи?

Комментарии:

1. Если вы хотите легко управлять своей версией Java, я могу порекомендовать JEnv . С его помощью обмен версией работает очень хорошо.

2. Я такой тупой! Я проверил .bash_profile еще раз и прокрутил вниз, чтобы увидеть это: export JAVA_HOME=$(/usr/libexec/java_home) … ffs….

Ответ №1:

Вы не корректируете свои PATH настройки в соответствии с JAVA_HOME вашими настройками. Попробуйте добавить export PATH="$JAVA_HOME/bin:$PATH"

Я также настоятельно рекомендую использовать sdkman для управления вашими языками Java. У него даже есть поддержка spark, sdk ls spark

 $ sdk ls spark
==== BROADCAST =================================================================
* 2020-12-26: java 16.ea.30-open available on SDKMAN!
* 2020-12-26: java 17.ea.3-open available on SDKMAN!
* 2020-12-23: micronaut 2.2.2 available on SDKMAN!
================================================================================
================================================================================
Available Spark Versions
================================================================================
     3.0.1               2.2.0
     3.0.0               2.1.3
     2.4.7               2.1.2
     2.4.6               2.1.1
     2.4.5               2.0.2
     2.4.4               1.6.3
     2.4.3               1.5.2
     2.4.2               1.4.1
     2.4.1
     2.4.0
     2.3.3
     2.3.2
     2.3.1
     2.3.0
     2.2.1

================================================================================
  - local version
* - installed
> - currently in use
================================================================================