Error:java: invalid flag: -release

Error:java: invalid flag: -release

我用Java :

Java(TM) SE Runtime Environment (build 9-ea+143) Java HotSpot(TM) 64-
Bit Server VM (build 9-ea+143, mixed mode)

IntelliJ IDEA

IntelliJ IDEA 2016.2.5 Build #IU-162.2228.15, built on October 14,
2016

编译时报错:

Error:java: invalid flag: -release

正在执行 javac -help :

--release <release>
        Compile for a specific VM version. Supported targets: 6, 7, 8, 9

所以 javac 应该在 release 中使用两个连字符,但 Intellij Idea 使用一个连字符。

我可以覆盖 IDEA 使用的 javac 选项或以某种方式修复它吗?

UPD:甚至 构建、执行、部署 > 编译器 > Java 编译器 附加命令行参数也无济于事在这种情况下

Java 9 支持是最先进的,应尝试使用最新版本。目前,这是2016.3的public预览,available here

在 Intellij 2017.1 中具有完全相同的 Error:java: invalid flag: -release。更新到 2017.2.5 解决了这个问题。

this intellij thread 中所述,您可以通过将项目 SDK 语言级别设置为 x - 实验功能来解决此问题

我在使用 IntelliJ IDEA 2017.1.3 版时遇到了同样的问题

已将 IntelliJ 更新至版本:2017.3.4,最新版本运行良好。

可能是由于构建配置和模块设置的 java 版本不匹配造成的。

我使用的是 Java 8 和 Intellij 2018.1.1

我是这样解决问题的:

  • 打开 IntelliJ Idea 设置
  • 导航至 构建、执行、部署 > 编译器 > Java 编译器
  • 取消选中选项:Use '--release' option for cross-compilation (Java 9 and later)

删除 --warning-mode=all(文件 -> 设置 -> 构建、执行、部署 -> Java 编译器

查看图像:

您可以查看JDK版本,如果低于JDK8,升级再试。它解决了我的问题。

删除 maven-compiler-plugin

配置中的 release 标签
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
            ... #here
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>