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

Maven编译报错:release version 17 not supported问题求助

解决Maven编译报错"release version 17 not supported"的方案
  • 先验证Maven实际关联的JDK版本
    在Jenkins任务的shell步骤中先执行mvn -v,查看输出里的Java版本是否为17。如果显示的是更低版本,说明Maven没有正确使用你安装的OpenJDK17,即使设置了JAVA_HOME也可能被镜像默认的JDK覆盖。

  • 修正镜像中的JDK默认配置
    Redhat ubi8/8.3-227镜像默认可能自带低版本JDK,需要将OpenJDK17设为系统默认:

  1. 执行update-alternatives --list java查看已安装的JDK路径
  2. 执行update-alternatives --set java /path/to/jdk17/bin/java(替换为实际的JDK17路径)
  3. 显式设置JAVA_HOME并导出:export JAVA_HOME=/path/to/jdk17
    完成后再执行mvn clean install
  • 强制Maven编译插件使用指定JDK
    在pom.xml中明确配置maven-compiler-plugin,指定支持JDK17的插件版本,并强制使用JDK17的javac:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.11.0</version>
            <configuration>
                <source>17</source>
                <target>17</target>
                <release>17</release>
                <fork>true</fork>
                <executable>${JAVA_HOME}/bin/javac</executable>
            </configuration>
        </plugin>
    </plugins>
</build>

<fork>true</fork>会让Maven启动单独的编译进程,确保使用指定的JDK路径,避免依赖系统默认JDK。

  • 检查Jenkins工具配置
    如果使用Jenkins全局工具管理配置Maven和JDK,确保当前任务选择的是已配置的OpenJDK17,而非镜像自带的JDK。Jenkins的工具配置优先级可能高于环境变量设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:02:13