从 Java 11 升级到 17。让 mvn 工作时遇到问题

问题描述 投票:0回答:1

到目前为止,我已经按照大约十几个 Stack Overflow 帖子中的说明进行操作,但我总是遇到同样的错误。

我正在从 Java 11 升级到 Java 17。我使用的是 Macbook Pro,Sonoma 14.4.1。 为了简化事情,我首先卸载了 Mac 上安装的每个 jdk。

然后我安装了Java 17的Java jdk。Java似乎工作正常。

$ java -version
java version "17.0.11" 2024-04-16 LTS
Java(TM) SE Runtime Environment (build 17.0.11+7-LTS-207)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.11+7-LTS-207, mixed mode, sharing)

只是一个健全性检查:

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

但是当我尝试运行任何 Maven 命令时,我收到此错误。

$ mvn -version
The JAVA_HOME environment variable is not defined correctly,
this environment variable is needed to run this program.

我完全按照这篇文章中的说明操作在 OSX Mavericks 中找不到 mvn 命令(以及其他一些类似的命令)。但似乎无论我做什么,我都会不断地回到这个错误。

我更新的 bash_profile(取自上段中的链接):

#set JAVA_HOME
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export JAVA_HOME

M2_HOME=/Users/myuserName/Downloads/apache-maven-3.9.7
export M2_HOME

PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
export PATH
java macos maven macos-sonoma
1个回答
0
投票

我今天在与同事调试时发现了这一点。 我们比较了每台 Mac 的设置方式,并开始随意查找隐藏文件。 我在“/Users/myusername”目录中发现了一个名为“.mavenrc”的文件,该文件中有一行文本指向我在故障排除时从 Mac 中删除的 java 11 版本。

export JAVA_HOME=/Library/Java/...

一旦我更新此文件以指向我的新版本 Java 17,问题就解决了。 “mvn -version”现在可以工作了。

© www.soinside.com 2019 - 2024. All rights reserved.