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

Joe*_*oeG 7 java gradle

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

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

谢谢!

小智 11

我仍然不完全确定你要求的是什么,但这里有一些不同的看法.

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

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

    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER" exported="true"/>
    
    Run Code Online (Sandbox Code Playgroud)

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

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


Adi*_*l B 5

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

Eclipse Gradle 插件参数对话框

您可以使用“file”命令验证您选择的 JRE 是否已使用,如本答案中所述。