Intellij IDEA使用java7编译器编译时我已将其配置为使用Java6

我已将Module SDK设置为1.6

在此处输入图像描述

我还将Project SDK设置为1.6

在此处输入图像描述

我还将Java编译器选项从设置更改为使用java 6

在此处输入图像描述

但它仍然使用java 7进行编译。 当我编译或运行它时会出现以下错误

Using javac 1.7.0_11 to compile java sources java: Errors occurred while compiling module 'SSLJava6' Compilation completed with 1 error and 0 warnings in 1 sec 1 error 0 warnings java: javacTask: source release 1.7 requires target release 1.7 

以前有人遇到过这样的问题吗? 必须做什么?

输出java -version

 [aniket@localhost jndiProperties]$ java -version java version "1.6.0_30" Java(TM) SE Runtime Environment (build 1.6.0_30-b12) Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode) 

而我的JAVA_HOME也设置为相同。

有趣。

问题:

  1. 检查c:\Users\$user\.IntelliJIdea12\config\options\jdk.table.xml是否仅引用了JDK6。

    这就是文件对我来说的样子:

    在此处输入图像描述

    如果在那里有对JDK 7的引用,则删除相应的元素并重新启动Intellij。

  2. 我知道你已经确认了javajavac路径。 通过在一个全新的Intellij项目中编写一个简单的HelloWorld.java来确认正在使用的javac。

    如果在新项目中使用javac6,则旧项目配置存在问题。

  3. 如果有潜伏的公共JRE 7,请尝试暂时取消安装。 在卸载后检查在HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment中的Windows注册表中是否没有留下任何遗留HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
  4. 如果重命名JDK7主目录,请检查构建是否失败。 如果是这样,请尝试通过符号链接JDK7目录指向Java6安装目录。 在windows世界中,以下内容将用于执行符号链接: mklink /J c:\Java7Home c:\ExistingJava6Home

尝试将您的IDEA_JDK_64环境变量设置为指向您希望intelliJ使用的Java SDK,例如’D:\ Programs \ Java \ jdk1.9’。

我在安装新的java 9早期访问jdk并尝试在intelliJ 15上运行时遇到了这个问题。

这修复了IntelliJ 16 EAP版本。