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

Jenkins使用Maven运行Java 21测试失败求助

解决Jenkins执行mvn test时的Java 21相关错误

一、排查"Cannot run program ... No such file or directory"错误

  • 确认Jenkins服务器是否安装Java 21:
    登录Jenkins所在服务器,执行ls /usr/lib/jvm/java-21-openjdk-amd64/bin/java,如果提示文件不存在,说明你本地验证的路径是自己机器的,Jenkins服务器未安装对应JDK,需先在该服务器安装OpenJDK 21。
  • 检查Jenkins运行用户权限:
    假设Jenkins以jenkins用户运行,执行sudo -u jenkins /usr/lib/jvm/java-21-openjdk-amd64/bin/java -version,若提示权限拒绝,执行以下命令添加权限:
    sudo chmod +x /usr/lib/jvm/java-21-openjdk-amd64/bin/java
    sudo chown -R jenkins:jenkins /usr/lib/jvm/java-21-openjdk-amd64
    
  • 核对JDK路径配置:
    进入Jenkins全局工具配置,确认JDK安装路径与服务器实际路径完全一致,注意避免拼写错误(如amd64误写为amd32)。

二、解决"error: release version 21 not supported"错误

确认Jenkins服务器的Java 21配置无误后,需确保Maven使用该版本JDK:

  • 全局关联Maven与Java 21:
    在Jenkins全局工具配置中,找到Maven配置项,关联已配置好的Java 21。
  • Job级别指定JDK:
    进入目标Jenkins Job配置,在"构建环境"中勾选对应Java 21;或在"Invoke top-level Maven targets"构建步骤中,将"JDK"设置为你的Java 21配置。
  • 验证pom.xml的compiler-plugin配置:
    确保插件版本足够新(3.10.0及以上支持Java 21),且预览特性配置正确:
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.11.0</version>
        <configuration>
            <source>21</source>
            <target>21</target>
            <release>21</release>
            <compilerArgs>--enable-preview</compilerArgs>
            <forceJavacCompilerUse>true</forceJavacCompilerUse>
        </configuration>
    </plugin>
    

三、测试验证

手动触发Jenkins构建,在控制台执行以下命令确认版本:

java -version
mvn -v

确保两者输出的Java版本均为21,再执行mvn test验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:46:05