【发布时间】:2021-10-31 06:53:20
【问题描述】:
几天来,我一直在愉快地构建代码,但突然我的一个项目(不是全部)因此错误消息而失败。答案见下文!
【问题讨论】:
标签: java macos maven apache-spark homebrew
几天来,我一直在愉快地构建代码,但突然我的一个项目(不是全部)因此错误消息而失败。答案见下文!
【问题讨论】:
标签: java macos maven apache-spark homebrew
起初我用谷歌搜索,发现很多有这个问题的人都在使用 Java 16。但我认为(错误地!)我使用的是 Java 11,因为
:-) 2021-09-01T10:32:59-0700 $ java --version
openjdk 11.0.12 2021-07-20
OpenJDK Runtime Environment Temurin-11.0.12+7 (build 11.0.12+7)
OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)
但我想进一步检查:
mvn --debug package
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: /usr/local/Cellar/maven/3.8.1/libexec
Java version: 16.0.1, vendor: Homebrew, runtime: /usr/local/Cellar/openjdk/16.0.1/libexec/openjdk.jdk/Contents/Home
“啊哈!”我说。
所以我修复了它
brew uninstall maven麻烦的代码最近才添加了一些测试,这恰好触发了一些反射的东西(抱歉含糊不清,我是 Java 新手 :-))
SparkSession.builder().appName("ANewUnitTest").master("local").getOrCreate()
【讨论】:
您可以尝试在 brew 中保留 mvn,但使用 JAVA_HOME 环境变量指定要使用的 Java 版本:
% export JAVA_HOME=/usr/local/opt/openjdk@8
% mvn --debug
Apache Maven 3.8.2 (ea98e05a04480131370aa0c110b8c54cf726c06f)
Maven home: /usr/local/Cellar/maven/3.8.2/libexec
Java version: 1.8.0_302, vendor: Oracle Corporation, runtime: /usr/local/Cellar/openjdk@8/1.8.0+302/libexec/openjdk.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "11.5.2", arch: "x86_64", family: "mac"
您应该擅长 Java v8 和 v11 以及 Spark。根据https://spark.apache.org/docs/latest/,我还不知道更新的版本。
【讨论】: