繁体   English   中英

IntelliJ IDEA 2016.3无法使用Java 7进行编译

[英]IntelliJ IDEA 2016.3 unable to compile with java 7

  • 我最近更新到了IntelliJ IDEA 2016.3,我刚刚注意到,只要我有一个选择了Java 7 SDK的项目,IntelliJ就会使用Java 1.8.0_112-release(必须是与IntelliJ捆绑在一起的编译器)编译该项目。自己安装)。

  • 如果选择1.8.0_112发行版以外的Java 8 SDK,则IntelliJ会使用该编译器进行编译。

  • 如果我选择了Java 7 SDK并在项目中运行main方法,则IntelliJ使用该Java 7 SDK版本运行,因此问题似乎仅与编译器有关。

  • 我尝试重新安装所有Java安装。

  • 当我更改SDK时,通常只更改Project Structure -> Project -> Project SDK ,但我还要验证语言级别是否正确以及Project Structure -> Modules -> Dependencies -> Module SDK是否正确。

  • 所有设置均为以下默认设置:

    • Settings -> Build, Execution, Deployment -> Compiler/Java Compiler
  • 在我看来,IntelliJ IDEA 2016.3无法使用低于Java 8的Java编译器,但我的谷歌搜索尝试无法确认这一点。

  • 我还可以提到,我还没有尝试过的唯一事情是硬卸载IntelliJ,在那里我所有的设置也都被清除了。 已尝试进行无提示卸载。

  • 如果我尝试使用Java 7 SDK编译新的Hello World项目,则这是“消息”选项卡中的输出: Information:Using javac 1.8.0_112-release to compile java sources 但是,如果我将项目SDK设置为Java 8 SDK,则这是“消息”选项卡中的输出: Information:Using javac 1.8.0_45 to compile java sources

  • 尝试将Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler -> Project bytecode version为1.7,没有任何效果。

  • File -> Other Settings -> Default Project Structure -> Project SDK and Project language level设置为Java 7 SDK。 消息选项卡仍显示: Information:Using javac 1.8.0_112-release to compile java sources

有没有其他人经历过这种情况并知道导致这种现象的原因?

Apparantley这是由在的IntelliJ一个问题,因为在规定造成这个问题。

自IntelliJ IDEA版本2016.3.1起已解决,我复制并粘贴了尤金·朱拉夫列夫( Eugene Zhuravlev)在Youtrack问题中的评论,以解释其解决方法:

为Javac引入了新的编译器选项: 设置| 构建,执行,部署| 编译器 Java编译器| “尽可能使用来自模块目标JDK的编译器”。 默认值为“ on”。 启用此属性并且与模块关联的JDK与内部版本的JDK不同时,内部版本将更喜欢使用来自相关JDK的javac进行编译,而不是使用运行于其上的JDK的编译器。

您需要设置两件事:

CTRL + ALT + SHIFT + S- >项目-> Project SDK

CTRL + SHIFT + A- >键入“ Java编译器”->目标字节码版本

Project StructureDefault Project Structure之间存在区别(后者用于新创建/签出的项目)。

Default Project Structure隐藏在“ File -> Other Settings 在那里,您将拥有Project SDKProject Language Level

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM