即使sourceCompatibility
和targetCompatibility
的属性设置为特定的JRE版本,JRE_CONTAINER
的classpathentry也只会生成为<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER" exported="true"/>
,并且eclipse设置中“Installed JRE”下的默认JRE版本并不总是与我想在项目中使用的JRE版本相匹配。
当gradle与gradle eclipse
一起运行时,我如何要求gradle将JRE_CONTAINER设置为特定版本?
apply plugin: 'java'
apply plugin: 'eclipse'
ext {
target = "1.5"
}
def jreContainer = 'org.eclipse.jdt.launching.JRE_CONTAINER'
if (target == '1.4' || target == '1.5') {
jreContainer += '/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-' + target
} else if (target == '1.6' || target == '1.7') {
jreContainer += '/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-' + target
}
eclipse {
classpath {
containers.clear()
containers.add(jreContainer)
}
}
2条答案
按热度按时间byqmnocz1#
在我情况下,它工作得很好,如下所示
但“jdk6”是用户特定名称
vsmadaxz2#
我还遇到了
containers.clear()
似乎没有任何效果的问题,容器被添加而不是替换。我遵循John Vasileff的答案,并提出了以下解决方案,以确保Eclipse JRE与目标Java版本(在我的情况下为11)相同,而不是恰好在我的PATH环境变量上的Java版本: