java - 不支持发布版本 1.8

标签 java maven java-8 maven-compiler-plugin

我有一个使用 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>

关于java - 不支持发布版本 1.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52419312/

相关文章:

Java,处理文件

java - 使用 gitflow-maven-plugin 从发布分支发布到主控的正确 Maven 命令是什么?

java - Maven项目在eclipse中抛出ClassNotFoundException

filter - Java - Lambda 过滤条件,忽略添加到 map

java - 结合 if 子句重构 big switch case

java - 用于调用使用不同证书集调用其他服务的服务的 keystore 配置

Java 给出看似随机的 StackOverflowError

java - 如何将 Jersey REST 服务器部署到 Heroku

java - 如何在我家附近找到更近的maven存储库

java - thymeleaf 中对 @OneToMeny 和 @ManyToOne 类的无尽 hibernate 查询