我正在使用Gradle和
Eclipse插件为我的项目生成项目文件,但我无法让它在.classpath中放入正确的JRE版本.我可以添加一个JRE容器,但我无法弄清楚如何删除默认容器 – 并且由于这个项目是在开发人员之间共享的,他们可能在Eclipse中设置了不同的默认值,我想手动控制它.
我觉得这应该有用的方式是这样的:
apply plugin: 'java'
apply plugin: 'eclipse'
sourceCompatibility = 1.6
由于targetCompatibility与sourceCompatibility相同,我希望这个设置转到Eclipse设置,找到一个与源版本匹配的JRE(是的,我的机器上有一个JRE安装和单独的JDK安装)然后去用它.
相反,它选择了默认值,在我的机器上恰好是Java 7.
我尝试在Eclipse配置中添加一些内容:
eclipse {
jdt {
sourceCompatibility = 1.6 // tried with and without this
}
classpath {
// tried various ways to remove the old entry, among them:
file.beforeMerged { p -> p.entries.clear() }
// and then I add the "correct" one
containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_45'
}
}
做这样的事情我最终在.classpath中有两个JRE容器:
我怎么告诉gradle我只想要一个JRE 1.6容器,而不是默认容器?
对我所追求的一些限制:
> Eclipse中的默认设置应该是无关紧要的
>我希望脚本能够查找容器 – 在上面的脚本中,定义要添加的容器的字符串是依赖于用户的.我希望在“安装的JRE”中查找与sourceConfiguration相匹配的版本更好 – 如果在Eclipse中没有安装这样的JRE,我可以抛出错误.