一个简单的问题,即使经过数小时的尝试和搜索,我也无法弄清楚:
我安装了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 [...]
我试过了:
JAVA_HOME
设置为C:\Program Files\Java\jdk1.6.0_38
IDEA_JDK
没有做任何事情gradle -v
在命令行上将1.6识别为JDK 是否有某个设置可以避免调用Java 1.7?
答案 0 :(得分:12)
'jre choose'算法定义为here,即尝试以下内容:
我怀疑你有'gradle.java.home',它指向$ 7.1,留在$ IDEA_HOME / bin / idea.properties
答案 1 :(得分:9)
...... 2。5年后:
我使用的是IntelliJ IDEA 15.0,我遇到了类似的问题:
此版本的IDEA附带JDK 1.8,我想在JDK 1.7下构建和运行Gradle项目
Gradle使用的JDK可在首选项中配置(之前可能不是这样):
IDEA>偏好>构建,执行,部署>构建工具>摇篮
..."使用本地gradle分发"你应该看到" Gradle JVM"属性。
注意:在我的情况下,它似乎只在系统重启后生效。如果它不能立即起作用,可以尝试一下!
答案 2 :(得分:8)
虽然Denis' answer帮助我进一步调查,但最初并没有成功。
我的第一个发现是,实际上并不是gradle是问题,但整个IDE使用Java 7,尽管我的设置另有说法。
我有几个问题需要解决:
Java 7在C:\Windows\System32\
中安装了%PATH%
中的java.exe副本,该副本先前在%JAVA_HOME%/bin%
中被选中,而不是%JAVA_HOME%/bin/java.exe
=>删除副本导致正确选择所需的idea64.exe
下一个问题是,通过idea.bat
启动IntelliJ仍然使用JDK7,我找不到改变它的方法
=>测试中的专业提示:IDEA插件SystemProperties显示IDE当前使用的所有JAVA-Props
=>而是使用idea.bat
来改为使用可配置的方式
%JAVA_HOME%
仍然拒绝使用%IDEA_HOME%/jre
中设置的JDK,而是使用捆绑的JRE(%IDEA_JDK%
)
=>检查bat文件的内容引导我找到定义%JAVA_HOME%
的解决方案,指向{{1}},这确实是蝙蝠在诉诸捆绑的JRE之前检查的唯一变量
有关设置正确的JDK / JRE以启动IntelliJ的一些奇怪问题,但是在不更改任何属性文件或启动文件的情况下完全可行,因此可以安全升级。
如果您使用的是Windows,并且需要更好的方法来跟踪我使用RapidEE推荐的系统属性。它的GUI比自Windows 95以来没有变化的丑陋Windows UI更好。
答案 3 :(得分:1)
我的问题是:我想运行1.8,但它运行1.6。
当我在IntelliJ想法中运行“gradle run”时,我可以看到输出:
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
我修改了 / Applications / 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>
我在JVMVersion键中添加了“1.8 *”。
<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
答案 4 :(得分:0)
只是为了扩展denis.zhdanov的回复: 由于从&#34;图标中调用它时,Intellij没有从bash中获取系统/ env变量这个古老的问题,请点击&#34;在Mac OS X中 - 您必须对Info.plist进行优化并将属性添加到文件中才能使其正常工作。例如:
在您的系统上,找到: / Applications / 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。
答案 5 :(得分:0)
在您的项目中更改级别属性文件包括:
org.gradle.java.home = /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
或任何你需要的JDK。我正在寻找一个像弱者一样的答案,这让我绝对疯狂。