执行mvn clean install时遇release version 17不支持错误求助
解决Maven编译报错:release version 17 not supported
问题重现
执行mvn clean install时触发错误:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.0:compile (default-compile) on project Fatal error compiling: error: release version 17 not supported -> [Help 1]
当前POM配置:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.10.0</version> <configuration> <source>17</source> <target>17</target> <release>17</release> </configuration> </plugin> <properties> <java.version>17</java.version> <maven.compiler.release>17</maven.compiler.release> </properties>
核心原因
本地运行Maven的JDK版本低于17,导致maven-compiler-plugin调用的javac不支持JDK17的编译参数。更换插件版本无法解决问题,因为插件依赖本地环境的JDK。
解决方案
1. 检查本地JDK版本
执行以下命令确认当前使用的JDK版本:
java -version javac -version
如果输出版本低于17,需要先安装JDK 17。
2. 确保Maven使用JDK 17
有两种方式配置Maven的JDK版本:
方式一:优化项目POM配置
简化POM中的编译配置,通过统一的properties管理版本,避免重复配置:
<properties> <java.version>17</java.version> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.release>${java.version}</maven.compiler.release> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.10.0</version> </plugin> </plugins> </build>
方式二:全局配置Maven
修改Maven的settings.xml文件(通常位于~/.m2/settings.xml或Maven安装目录/conf/settings.xml),添加指定JDK17的Profile:
<profiles> <profile> <id>jdk-17</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <maven.compiler.release>17</maven.compiler.release> <java.home>/path/to/your/jdk17</java.home> </properties> </profile> </profiles>
或者设置系统环境变量JAVA_HOME指向JDK17的安装目录,并确保PATH中优先使用该JDK的java命令。
3. 验证配置生效
执行mvn -v,查看输出中的Java版本是否为17:
mvn -v
如果输出显示Java版本为17,再重新执行mvn clean install即可完成编译。
内容的提问来源于stack exchange,提问作者ameenulla hussaini
相关产品推荐
相关产品推荐

