不支持发布版本 1.8

release version 1.8 not supported

我有一个项目正在使用 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,maven-compiler-plugin 版本 3.8.0 和 Java 10 来编译项目。

这里有什么问题?

这应该有效

<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>

就我而言,我必须更改版本、源和目标。

  <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>