在Gradle中,有没有办法将JDK设置为Eclipse Default?

时间:2012-08-10 12:40:45

标签: java gradle

我正在将我的gradle构建文件集成到支持多个JDK的eclipse开发环境中。虽然大多数开发人员安装了多个版本,但正确的行为是使用“系统偏好设置 - > Java->已安装的JRE”页面上的“默认JRE”。

有没有办法让gradle设置JAVA_HOME(或“org.gradle.java.home”??)?如果没有,对于这样一组开发人员的最佳方式有什么建议吗?对于一个人而言,这不是一个真正的问题,它正试图找到一种可以扩展到我这一群人的一般方法!

谢谢!

3 个答案:

答案 0 :(得分:11)

我仍然不完全确定你要求的是什么,但这里有一些不同的内容。

  1. 如果您要做的是让您的代码(在Gradle和Eclipse中)编译,以便字节码与特定版本的Java兼容,请使用类似的东西。这不会更改Gradle或Eclipse在编译期间使用的Java版本,只会使最终结果与您指定的版本“字节码兼容”。 Luis提到的设置默认为在更一般的Java插件级别设置的值。

    sourceCompatibility = '1.6' //or '1.5' or '1.7', etc.
    
  2. 默认情况下,Gradle Eclipse插件将在.classpath文件中生成以下条目。我相信这总是指向你在Eclipse中指定的默认值,但我可能错了。

    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER" exported="true"/>
    

    如果要更改容器的内容,请在Eclipse中选择要查找的容器,然后在.classpath文件中查找正确的容器值。然后,您可以在构建文件中指定它:

    eclipse.classpath.containers 'whatever the container value is'
    
  3. 但是,如果您想要的是能够更改Gradle运行的JAVA_HOME以匹配Eclipse中选择的默认值,我认为您将度过难关。我不确定是否有一个容易以编程方式找到该值的地方。你可以从相反的方向设置它。让开发人员设置JAVA_HOME以匹配他们的Eclipse默认值。然后,他们可以在Eclipse配置中为JRE引用JAVA_HOME环境变量。

答案 1 :(得分:4)

如果您有不同版本的jdk,那很容易

apply plugin: 'java'
apply plugin: 'eclipse'

eclipse {
  jdt {
    //if you want to alter the java versions (by default they are configured with gradle java plugin settings):
    sourceCompatibility = 1.6
    targetCompatibility = 1.5

现在,如果您使用的是不同的JVM 1.6.XX,并希望定位到特定的一个,我不确定

答案 2 :(得分:2)

尝试从Eclipse Marketplace安装“Gradle IDE Pack”。我在Eclipse Luna上,可以在“Preferences&gt; Gradle&gt; Arguments”菜单下看到这个选项:

Eclipse Gradle Plugin Arguments dialog

您可以使用'{'}命令验证所选JRE是否已被使用,如this answer中所述。