You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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,所以升级插件是关键。
  • sourcetarget参数只需要指定Java的主版本号(比如13),不需要带小版本号(13.0.1),这也是导致错误的原因之一。

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

火山引擎 最新活动