错误:java:invalid flag:-release

Ser*_*man 16 java intellij-idea java-9

我用Java:

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

IntelliJ IDEA:

IntelliJ IDEA 2016.2.5 Build #IU-162.2228.15, built on October 14,
2016
Run Code Online (Sandbox Code Playgroud)

编译时出错:

Error:java: invalid flag: -release
Run Code Online (Sandbox Code Playgroud)

执行javac -help:

--release <release>
        Compile for a specific VM version. Supported targets: 6, 7, 8, 9
Run Code Online (Sandbox Code Playgroud)

所以javac应该使用两个连字符和释放,但Intellij Idea使用一个.

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

UPD:甚至构建,执行,部署>编译器> Java编译器附加命令行参数在这种情况下没有帮助

Nic*_*lai 7

Java 9支持是最前沿的,应该尝试使用最新版本.目前,这是2016.3的公开预览,可在此处获得.

  • 我正在运行IntelliJ 2017.1.3并得到相同的错误. (3认同)

小智 7

究竟有同样Error:java: invalid flag: -release的的IntelliJ 2017.1.更新到2017.2.5可以解决问题.


Boh*_*dan 6

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


Rob*_*rto 5

我正在使用Java 8和Intellij 2018.1.1

我以这种方式解决了这个问题:

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

Intellij设置