You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

maven-clean-plugin:3.3.1在Apache Maven 3.9.3中运行失败的解决求助

问题分析与解决方案

为什么会报这个错?

你安装的Maven 3.9.3版本远高于插件要求的3.2.5,报错的核心原因是用sudo执行构建时,实际调用的不是SDKMAN安装的3.9.3版本,而是系统自带的旧版Maven(CentOS 7默认预装的Maven版本通常低于3.2.5)。

如何确认构建时实际使用的Maven版本?

分别执行以下两条命令对比结果:

  • 查看当前用户的Maven版本:
    mvn -v
    
  • 查看sudo环境下的Maven版本:
    sudo mvn -v
    

如果输出的版本不一致,就证明sudo用的是系统旧版Maven。

解决方法

1. 优先避免用sudo构建

Spring Boot项目构建几乎不需要root权限,大概率是你项目目录的权限有问题。可以调整目录权限:

sudo chown -R $USER:$USER /path/to/your/project

之后直接用当前用户执行构建命令:

mvn clean package -Dmaven.test.skip

2. 必须用sudo时,继承当前用户环境变量

执行命令时加上-E参数,让sudo继承当前用户的环境变量(包括SDKMAN配置的Maven路径):

sudo -E mvn clean package -Dmaven.test.skip

3. 配置root用户使用SDKMAN的Maven

切换到root用户,安装SDKMAN并配置使用3.9.3版本:

sudo su
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install maven 3.9.3
sdk default maven 3.9.3

之后root用户执行mvn -v就能看到3.9.3版本,再用sudo构建就不会报错。

是否需要降级Maven到3.2.5?

完全不需要,你的3.9.3版本完全满足插件要求,问题出在执行环境的版本不匹配,不是版本过高。

内容的提问来源于stack exchange,提问作者Never_se

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 22:42:10