【问题标题】:Intellij IDEA using java7 compiler to compile when I have configured it to use Java6Intellij IDEA 使用 java7 编译器编译时我已将其配置为使用 Java6
【发布时间】:2013-09-16 09:06:40
【问题描述】:

我已将 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 也设置为相同。

【问题讨论】:

  • javac -version 显示什么?你是用 maven 来构建的吗?
  • javac -version 显示还显示 javac 1.6.0_30,不,我没有使用 maven。
  • IntelliJ 的哪个版本? 12.1.4 ?
  • 也许您在 SSLJava6 上也设置了一些依赖项?
  • @vikingsteve 是的,它是 12.1.4

标签: java sdk intellij-idea


【解决方案1】:

有趣。

问题:

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

    这就是我的文件的样子:



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

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

    如果在新项目中使用了 javac6,那么这是旧项目配置的问题。

  3. 如果存在公共 JRE 7,请尝试暂时卸载它。卸载后检查在HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime EnvironmentHKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime EnvironmentWindows 注册表中没有留下任何垃圾

  4. 如果重命名JDK7主目录,请检查构建是否失败。如果是这样,请尝试符号链接 JDK7 目录以指向 Java6 安装目录。在 Windows 世界中,以下将用于执行符号链接:mklink /J c:\Java7Home c:\ExistingJava6Home

【讨论】:

    【解决方案2】:

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

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

    这在 IntelliJ 16 EAP 版本上修复了它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-04
      • 2015-04-14
      • 2016-04-16
      • 1970-01-01
      相关资源
      最近更新 更多