我怎么知道的IntelliJ开始gradle这个与Java JDK 1.6?(How do I te

2019-08-17 23:59发布

一个简单的问题,我甚至不能尝试和搜索小时后弄清楚:

我同时拥有了Java 6和7安装。

我怎么知道的IntelliJ开始摇篮建立与JDK 1.6版?

无论我做什么,不断的IntelliJ我开始的gradle与

"c:\program files\java\jdk1.7.0_10\jre\bin\java" -Dgradle.home=C:\_CODING_\gradle-1.4 [...]

我试过了:

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

是否有一个设置的地方,以避免Java的1.7被调用?

Answer 1:

“JRE选择”算法定义在这里 ,即,它会尝试以下操作:

  1. Java的位置在“gradle.java.home”系统属性中引用(如有);
  2. “JAVA_HOME”环境变量;
  3. 项目JDK;
  4. 在IDE配置的任何JDK;

我怀疑你有“gradle.java.home”指向在$ IDEA_HOME /斌/ idea.properties留下的Java 1.7



Answer 2:

... 2.5年后的今天:

我使用的IntelliJ IDEA 15.0,和我有一个类似的问题:

这个想法船舶版本JDK 1.8捆绑在一起的,我想建立和JDK 1.7下运行一个项目的摇篮

通过摇篮使用的JDK是在首选项配置 (可能还没有的情况下及早是):

IDEA>首选项>构建,执行,部署>生成工具>摇篮

...“使用本地gradle这个分配”下,你应该看到“摇篮JVM”属性。

注:在我的情况下,只出现在系统重新启动后已经生效。 一些尝试,如果它不马上工作!



Answer 3:

尽管丹尼斯的回答让我进一步调查它是不是成功的在第一。

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

我的第一个发现是,其实不是gradle这个是问题,但尽管我的设置,否则说整个IDE是用Java 7。

我有几个问题要摆

  1. Java 7中安装的java.exe的拷贝C:\Windows\System32\这是较早的回升在%PATH%比也设置%JAVA_HOME%/bin%

    =>移除导致期望的副本%JAVA_HOME%/bin/java.exe被正确拾取

  2. 接下来的问题是,开始的IntelliJ通过idea64.exe仍然使用的JDK7,我无法找到一个方法来改变

    在测试一个=> 临提示 :IDEA插件SystemProperties显示当前使用的IDE =>所有JAVA的道具使用idea.bat而不是具有可配置的方式,而不是

  3. idea.bat仍然拒绝使用JDK中的一套%JAVA_HOME%但使用捆绑的JRE,而不是( %IDEA_HOME%/jre

    =>检查蝙蝠文件的内容导致我到溶液中,以限定%IDEA_JDK%指向%JAVA_HOME%这确实是唯一的变量诉诸捆绑的JRE之前蝙蝠检查

最后的想法

有关于设置正确的JDK / JRE用于启动的IntelliJ一些奇怪的问题,但它是在不改变任何属性,文件或启动,文件完全可行的,从而使得它的安全进行升级。

奖金提示

如果您使用的是Windows,需要一个更好的方式来跟踪系统属性的我推荐使用RapidEE 。 它的GUI是wayyy比丑陋的Windows用户界面,其自Windows 95还没有换好。



Answer 4:

我的问题是:我想要运行1.8,但它运行1.6。

当我运行的IntelliJ IDEA里面的“gradle这个运行”我能看到的输出:

10:50:35: Executing external task 'run'... :compileJava :processResources UP-TO-DATE :classes Exception in thread "main" java.lang.NoClassDefFoundError: org/raig Caused by: java.lang.ClassNotFoundException: org.raig     at java.net.URLClassLoader$1.run(URLClassLoader.java:202)   at java.security.AccessController.doPrivileged(Native Method)   at java.net.URLClassLoader.findClass(URLClassLoader.java:190)   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) :run FAILED

FAILURE: Build failed with an exception.

* What went wrong: Execution failed for task ':run'.
> Process 'command '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

我修改/应用/ IntelliJ IDEA的14 CE.app/Contents/Info.plist

<key>JVMOptions</key>
    <dict>
      <key>ClassPath</key>
      <string>$APP_PACKAGE/Contents/lib/bootstrap.jar:$APP_PACKAGE/Contents/lib/extensions.jar:$APP_PACKAGE/Contents/lib/util.jar:$APP_PACKAGE/Contents/lib/jdom.jar:$APP_PACKAGE/Contents/lib/log4j.jar:$APP_PACKAGE/Contents/lib/trove4j.jar:$APP_PACKAGE/Contents/lib/jna.jar</string>

      <key>JVMVersion</key>
      <string>1.6*,1.7+</string>

我补充说:“1.8 *”,在JVMVersion关键。

<key>JVMVersion</key>
      <string>1.8*,1.6*,1.7+</string>

我重新启动的IntelliJ,运行任务,我得到:

Execution failed for task ':run'.
> Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1


Answer 5:

只是为了扩大从denis.zhdanov响应:由于的IntelliJ的老问题没有从庆典在Mac OS X中的“点击图标”调用它,当拿起系统/ env的变量 - 你将不得不精的信息的.plist,为了使它工作的属性添加到文件中。 例如:

在你的系统中,找到:/应用/ IntelliJ IDEA的12.app/Contents/Info.plist

编辑这个文件,添加属性部分里面的值:

<dict> <key>gradle.java.home</key> <string>/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home</string> </dict>

其中,路径是你的JVM的$ JAVA_HOME。



Answer 6:

只要改变摇篮属性文件在您的项目有:

org.gradle.java.home = /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

或任何JDK u需要。 我一直在寻找一个答案像一个弱者,它驱使我绝对是疯了。



文章来源: How do I tell IntelliJ to start gradle with Java 1.6 JDK?