普通网友 2025-11-13 14:10 采纳率: 98.7%
浏览 1
已采纳

Maven插件不兼容Java 17编译问题

在升级至Java 17后,Maven项目编译时报错“release version 17 not supported”,主要原因为Maven Compiler Plugin版本过低(如3.8.1以下),不支持Java 17的模块化和新语法。需将插件显式升级至3.10.1或更高版本,并在pom.xml中正确配置`17`或`<source />17`与`17`。同时,确保JAVA_HOME指向JDK 17。该问题常见于Spring Boot 2.x早期版本与新JDK集成场景。
  • 写回答

2条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-11-13 17:45
    关注

    让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。

    如果答案能帮助您,请采纳,非常感谢!
    .
    每日一句正能量,让它带给您好心情:相信自己的力量,你可以创造属于自己的奇迹。
    .

    Maven插件不兼容Java 17编译问题解决方案

    问题分析

    升级至Java 17后,Maven项目编译时出现"release version 17 not supported"错误,主要原因是Maven Compiler Plugin版本过低,不支持Java 17的新特性。

    解决方案

    1. 升级Maven Compiler Plugin版本

    pom.xml中显式配置Maven Compiler Plugin:

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>
    
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.10.1</version>
                <configuration>
                    <source>17</source>
                    <target>17</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    2. 替代配置方式(二选一)

    如果使用release参数配置:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.10.1</version>
        <configuration>
            <release>17</release>
            <encoding>UTF-8</encoding>
        </configuration>
    </plugin>
    

    3. 验证JAVA_HOME环境变量

    确保系统环境变量指向正确的JDK 17:

    # 检查当前Java版本
    java -version
    
    
    # 检查JAVA_HOME设置
    echo $JAVA_HOME
    
    
    # Windows系统检查
    echo %JAVA_HOME%
    

    4. Spring Boot项目额外配置

    对于Spring Boot 2.x项目,建议同时升级Spring Boot版本:

    <properties>
        <java.version>17</java.version>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>
    

    推荐版本

    • 最低要求: maven-compiler-plugin 3.8.1+
    • 推荐版本: maven-compiler-plugin 3.10.1+
    • 最新稳定版: maven-compiler-plugin 3.11.0

    验证配置

    配置完成后执行以下命令验证:

    mvn clean compile
    

    如果配置正确,项目应该能够成功编译。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 11月14日
  • 创建了问题 11月13日