java - 在 .bash_profile 中设置 JAVA_HOME 未返回正确的路径

标签 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?不知道为什么。其中之一:/时刻...有什么想法吗?

最佳答案

您没有使用您正在设置的 JAVA_HOME 来调整您的 PATH。尝试添加 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
================================================================================

 

关于java - 在 .bash_profile 中设置 JAVA_HOME 未返回正确的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65469967/

相关文章:

java - 如何使用 JGit 获取存储库统计信息

java - 为什么 List<String> 接受另一个 <List> 作为元素

scala - 如何查询Spark数据集的列名?

python - pyspark 导入错误 : cannot import name accumulators

Scala - 无法将 Scala 对象写入 Cassandra

apache-spark - 如何在没有 hive-site.xml 的情况下将 Spark SQL 连接到远程 Hive 元存储(通过节俭协议(protocol))?

java - 在同一端口下部署多个应用程序

java - 包与 Java 9 中的自动模块冲突

java - 我如何从 BSF 后处理器的脚本代码中做出断言?

python - PySpark 1.5 如何将时间戳从秒截断到最近的分钟