Maven编译报错invalid target release:13.0.1,请求协助解决
解决Maven编译错误:invalid target release: 13.0.1
从你提供的错误日志和环境信息来看,问题出在maven-compiler-plugin 3.0版本不支持Java 13,同时配置里指定的target版本格式也有问题(用了13.0.1而不是主版本号13)。下面是具体的解决步骤:
错误核心信息
先看关键的错误提示:
[ERROR] 在dbproxy项目上执行org.apache.maven.plugins:maven-compiler-plugin:3.0:compile(default-compile)目标失败:编译致命错误: error: invalid target release: 13.0.1 -> [Help 1]
你的环境里已经安装了Java 13.0.1,但maven-compiler-plugin 3.0是比较老旧的版本,最高只支持到Java 8,无法识别Java 13的版本号格式。
解决方案
1. 升级maven-compiler-plugin并修正版本配置
找到dbproxy项目的pom.xml文件,修改maven-compiler-plugin的版本和配置:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <!-- 升级到支持Java13的版本,比如3.8.1 --> <version>3.8.1</version> <configuration> <!-- 使用主版本号13,而不是13.0.1 --> <source>13</source> <target>13</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
2. 全局配置Maven的Java版本(可选)
如果你不想修改单个项目的pom.xml,可以在Maven的全局配置文件settings.xml(通常在/usr/share/maven/conf/settings.xml或者~/.m2/settings.xml)里添加以下配置:
<profiles> <profile> <id>java-13</id> <activation> <activeByDefault>true</activeByDefault> <jdk>13</jdk> </activation> <properties> <maven.compiler.source>13</maven.compiler.source> <maven.compiler.target>13</maven.compiler.target> </properties> </profile> </profiles>
3. 验证配置是否生效
修改完成后,重新运行构建命令:
make desktop
或者直接进入dbproxy项目目录运行Maven编译命令测试:
cd /root/hue/desktop/libs/librdbms/java-lib mvn clean compile
补充说明
- Maven的compiler-plugin对Java版本的支持:3.8.0及以上版本开始支持Java 11到13,3.0版本只支持到Java 8,所以升级插件是关键。
source和target参数只需要指定Java的主版本号(比如13),不需要带小版本号(13.0.1),这也是导致错误的原因之一。
内容的提问来源于stack exchange,提问作者user3448968




