mac Maven配置报错The JAVA_HOME environment variable is not defined correctly的解决方法

项目场景:

若衣框架需要后端部署打包


问题描述

例如:mac使用命令

mvn clean package -Dmaven.test.skip=true

报错如下

zsh: command not found: mvn

原因分析:

“zsh: command not found: mvn” 错误消息表明在您的系统上找不到 “mvn” 命令,这意味着 Maven 没有被正确安装或没有在系统的 PATH 环境变量中。


解决方案:

要解决这个问题,您可以按照以下步骤进行操作:

1、安装 Maven:

如果您尚未安装 Maven,首先需要安装它。您可以使用包管理器,如 Homebrew(在 macOS 上)、apt(在 Ubuntu 上)或手动下载并安装 Maven。

在 macOS 上,您可以使用 Homebrew 安装 Maven:

brew install maven

在 Ubuntu 上,您可以使用 apt 安装 Maven:

sudo apt-get update
sudo apt-get install maven

手动下载并安装 Maven:您可以从 Maven 官方网站(https://maven.apache.org/download.cgi)下载 Maven 的二进制分发包,然后按照官方文档的说明进行安装。

2.确认安装是否成功:

安装完成后,打开终端并运行以下命令,以确认 Maven 是否成功安装:

mvn -version

如果 Maven 安装成功,将显示 Maven 的版本信息。

还有一个bug的是

Matching Java Virtual Machines (5):
18.0.2.1 (x86_64) “Oracle Corporation” - “Java SE 18.0.2.1” /Library/Java/JavaVirtualMachines/jdk-18.0.2.1.jdk/Contents/Home
17.0.1 (x86_64) “Oracle Corporation” - “Java SE 17.0.1” /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
1.8.321.07 (x86_64) “Oracle Corporation” - “Java” /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_321 (x86_64) “Oracle Corporation” - “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home
1.8.0_241 (x86_64) “Oracle Corporation” - “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-18.0.2.1.jdk/Contents/Home

您的系统上安装了多个 Java Virtual Machines (JVMs) 版本。Maven 可能会遇到困惑,因为它不知道要使用哪个 Java 版本。

首先,请确认您正在使用的终端中的环境变量是否设置为您希望使用的 Java 版本。如果您想要使用 Java 18.0.2.1,可以设置以下环境变量:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-18.0.2.1.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

确保将这些命令添加到您的 shell 配置文件(如 ~/.zshrc 或 ~/.bashrc),并通过运行 source 命令使其生效。

然后,您可以再次运行 mvn -version 命令,以确保 Maven 使用了您所选择的 Java 版本。

最后回归正题
再次使用

mvn clean package -Dmaven.test.skip=true

就可以正常打包出来了

猜你喜欢

转载自blog.csdn.net/qzmlyshao/article/details/133345007