当在Mac上安装Maven时出现错误:JAVA_HOME未正确定义

3

安装Maven应该很容易,但我在我的Mac 10.11.4上安装时遇到了很大的困难。

我已经为Maven创建了M2_HOME和PATH,但当我输入mvn --version时,终端告诉我:

/Users/justin/apache-maven-3.3.9/bin/mvn: line 53: uname: command not found
/Users/justin/apache-maven-3.3.9/bin/mvn: line 143: which: command not found
/Users/justin/apache-maven-3.3.9/bin/mvn: line 171: which: command not found
Error: JAVA_HOME is not defined correctly.
  We cannot execute 

为什么会发生这种情况? enter image description here

哦,如果 unamewhich 没有定义,那就相当奇怪了。我会非常惊讶,如果它们在 Mac 上不起作用的话。它们是核心命令,应该在任何地方都能工作,即使没有安装 Java 或 Maven。echo $PATH 给你什么输出? - halfer
2个回答

3

针对macOS Ventura 13.1

如果您使用Homebrew安装了Java OpenJDK 11版本:

brew install java11

那么,你的Java已安装在:

/opt/homebrew/Cellar/openjdk@11/11.0.17/libexec/openjdk.jdk/Contents/Home

因此,您必须了解这是您的JAVA_HOME环境变量。

您需要将Java的'/bin'文件夹添加到您的PATH环境变量中,以便在终端上使用它。此外,您需要创建JAVA_HOME环境变量,以便Maven知道您的Java信息。

因此,您必须打开:

/Users/<yourUser>/.zshrc

添加

export JAVA_HOME="/opt/homebrew/Cellar/openjdk@11/11.0.17/libexec/openjdk.jdk/Contents/Home"
export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH" 

保存您的更改,关闭文件。现在您可以打开终端并键入:

java -version

然后,

mvn -version

这就是你应该得到的:

example@example441 ~ % java -version
openjdk version "11.0.17" 2022-10-18
OpenJDK Runtime Environment Homebrew (build 11.0.17+0)
OpenJDK 64-Bit Server VM Homebrew (build 11.0.17+0, mixed mode)

example@example441 ~ % mvn -version
Apache Maven 3.8.7 (xxxxxxxxxxxxxxxxxxxxxxxxxxx)
Maven home: /opt/homebrew/Cellar/maven/3.8.7/libexec
Java version: 11.0.17, vendor: Homebrew, runtime: 
opt/homebrew/Cellar/openjdk@11/11.0.17/libexec/openjdk.jdk/Contents/Home
Default locale: pt_BR, platform encoding: UTF-8
OS name: "mac os x", version: "13.1", arch: "aarch64", family: "mac"

2

根据安装指南,需要定义JAVA_HOME

对于MacOS,请查看此答案以获取更多详细信息。


3
安装指南只是简单地说“确保JAVA_HOME环境变量已设置并指向您的JDK安装位置”,但它没有告诉你如何做到这一点,特别是对于像我这样的完全新手。 - Thor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接