发行版 1.8 不受支持

2022-09-04 20:34:40

我有一个使用Java 8的项目。

到目前为止,在 pom 中,我们将源版本和目标版本指定为 1.8:

<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

我们希望利用Java 9+的“-release”选项,并添加了以下内容:

<maven.compiler.release>1.8</maven.compiler.release>

但现在我们得到以下错误:

Fatal error compiling: release version 1.8 not supported

我们使用 maven 3.5.3,即 3.8.0 版和 Java 10 中的 maven 编译器插件来编译项目。

这是怎么回事?


答案 1

这应该有效

<maven.compiler.release>8</maven.compiler.release>

因为该属性仅适用于版本的主要版本<release>

顺便说一句,这是假设这是实际编译器插件配置中使用的参数,有点像:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <release>${maven.compiler.release}</release>
    </configuration>
</plugin>

答案 2

在我的情况下,我不得不改变版本,源和目标。

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.release>8</maven.compiler.release>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
  </properties>

推荐