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

升级Java 17后Jenkins无法找到Maven的问题求助

解决Jenkins无法识别手动安装的Maven及环境变量异常问题

核心原因

Jenkins以SYSTEM用户身份运行,不会加载pi用户的个人环境变量配置(如.bashrc/.profile),而你手动安装的Maven仅在pi用户的环境变量中生效,全局环境变量未配置,导致Jenkins无法找到Maven路径。

解决方案

1. 配置系统全局环境变量

编辑系统全局配置文件,让所有用户(包括SYSTEM)都能读取Maven的环境变量:

  • 打开终端执行:
    sudo nano /etc/profile
    
  • 在文件末尾添加以下内容:
    export MAVEN_HOME=/opt/maven
    export M2_HOME=/opt/apache-maven-3.9.4
    export PATH=$PATH:$MAVEN_HOME/bin
    
  • 保存退出后,执行以下命令让配置立即生效:
    source /etc/profile
    
  • 重启Jenkins服务:
    sudo systemctl restart jenkins
    

2. 在Jenkins中配置全局工具路径

通过Jenkins内置的工具管理功能指定Maven路径,避免依赖系统环境变量:

  1. 登录Jenkins后台,进入Manage Jenkins → Global Tool Configuration
  2. 找到Maven区域:
    • 点击Add Maven,取消勾选「Install automatically」
    • 填写Name(如Maven 3.9.4),MAVEN_HOME输入/opt/maven
  3. 同样可在JDK区域配置你的手动安装版本:
    • 点击Add JDK,取消勾选「Install automatically」
    • 填写Name(如JDK 17),JAVA_HOME输入/opt/jdk/jdk-17.0.1+12
  4. 保存配置后,在Jenkins任务中选择对应的Maven版本即可。

3. 临时调试方案(脚本内手动导出变量)

若需要快速验证,可在Jenkins任务的执行脚本开头手动导出环境变量:

export MAVEN_HOME=/opt/maven
export M2_HOME=/opt/apache-maven-3.9.4
export PATH=$PATH:$MAVEN_HOME/bin

# 验证命令
echo $JAVA_HOME
echo $M2_HOME
echo $MAVEN_HOME
java -version
javac -version
mvn -v

验证方法

重新运行Jenkins调试任务,若控制台输出中mvn -v能正常显示版本信息,且环境变量符合配置值,则问题解决。

内容的提问来源于stack exchange,提问作者Guillermo Moreno Castaño

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:34:59