如何告诉IntelliJ开始使用Java 1.6 JDK?

Ste*_*oth 13 java windows intellij-idea gradle

一个简单的问题,即使经过数小时的尝试和搜索,我也无法弄清楚:

我安装了Java 6和7.

如何告诉IntelliJ使用JDK 1.6版启动Gradle构建?

无论我做什么,IntelliJ都会不断开始我的学习

"c:\program files\java\jdk1.7.0_10\jre\bin\java" -Dgradle.home=C:\_CODING_\gradle-1.4 [...]
Run Code Online (Sandbox Code Playgroud)

我试过了:

  • 所有项目模块都设置为使用1.6
  • JAVA_HOME 被设置为 C:\Program Files\Java\jdk1.6.0_38
  • 设置IDEA_JDK什么也没做
  • gradle -v 在命令行上将1.6识别为JDK
  • 重新启动IntelliJ和/或计算机没有改变行为

有什么设置可以避免调用Java 1.7吗?

den*_*nov 12

'jre choose'算法在这里定义,即尝试以下方法:

  1. 在'gradle.java.home'系统属性(如果有)中引用的Java位置;
  2. 'JAVA_HOME'env变量;
  3. 项目jdk;
  4. 在ide处配置的任何jdk;

我怀疑你有'gradle.java.home',它指向$ IDEA_HOME/bin/idea.properties留下的java 1.7

  • 如果我指定一个项目JDK,那是因为我想使用它.为什么我会设置它.项目JDK肯定是默认的. (6认同)

pau*_*ore 9

...... 2.5年后:

我正在使用IntelliJ IDEA 15.0,我遇到了类似的问题:

这个版本的IDEA与JDK 1.8捆绑在一起,我想在JDK 1.7下构建和运行Gradle项目

Gradle使用的JDK可在首选项中配置(可能不是之前的情况):

IDEA>首选项>构建,执行,部署>构建工具> Gradle

...在"使用本地gradle分发"下,您应该看到"Gradle JVM"属性.

注意:在我的情况下,它似乎只在系统重启后生效.如果它不能立即起作用的话可以试试!


Ste*_*oth 8

虽然丹尼斯的回答帮助我进一步调查,但最初并没有成功.

我有99个问题,但gradle不是一个

我的第一个发现是,实际上并不是gradle是问题,但整个IDE使用Java 7,尽管我的设置另有说法.

我有几个问题需要解决:

  1. Java 7安装了一个java.exe的副本,C:\Windows\System32\其中之前的版本%PATH%比也设置了%JAVA_HOME%/bin%

    =>删除副本导致所需的%JAVA_HOME%/bin/java.exe正确拾取

  2. 接下来的问题是通过idea64.exe仍然使用的JDK7 启动IntelliJ ,我找不到改变它的方法

    => 测试中的专家提示:IDEA插件SystemProperties显示IDE当前使用的所有JAVA-Props =>使用idea.bat而不是使用可配置的方式

  3. idea.bat仍拒绝使用JDK设置%JAVA_HOME%但使用捆绑的JRE代替(%IDEA_HOME%/jre)

    =>检查bat文件的内容引导我找到解决方案来定义%IDEA_JDK%指向%JAVA_HOME%哪个确实是bat在使用捆绑的JRE之前检查的唯一变量

最后的想法

关于设置正确的JDK/JRE来启动IntelliJ有一些奇怪的问题,但是在不更改任何属性文件或启动文件的情况下它是完全可行的,因此可以安全升级.

奖金提示

如果您使用Windows并且需要更好的方法来跟踪我使用RapidEE推荐的系统属性.它的GUI比自Windows 95以来没有变化的丑陋Windows UI更好.