我升级到最新的Eclipse Mars.2版本(4.5.2),有一个问题让我发疯。
每次刷新项目时,都会在此处添加JDK版本8:
.classpath
,此行更改: <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_72"/>
.settings/org.eclipse.jdt.core.prefs
,此行更改: org.eclipse.jdt.core.compiler.compliance=1.8
我的项目多年来一直使用JDK 6。我已经安装了JDK 6和8用于测试目的。
无论我是否手动更改项目设置,每次刷新项目时Eclipse都会自动设置版本8.
即使我禁用Enable project specific settings
,当我刷新项目时,会重新启用该选项,并使用此内容创建文件.settings/org.eclipse.jdt.core.prefs
:
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.compliance=1.8
此外,在全局首选项&gt; Java&gt;编译器我设置1.6并且在已安装的JRE jdk1.6.0_43
中设置为默认值。
这是在我升级Eclipse之后开始发生的,所以肯定是一个错误。但是,我想知道是否有任何解决方法。
我尝试过的其他事情并没有奏效:
eclipse -clean
答案 0 :(得分:1)
这是一个已知问题,将通过Buildship 1.0.10修复
末尾的讨论答案 1 :(得分:0)
这是一个bug,但不是来自Eclipse,来自Gradle插件:Buildship 1.0.9。
如果有人遇到同样的问题,我修改了.settings/gradle.prefs
并设置connection_java_home
的值:
{
"1.0": {
"project_path": ":",
...
"connection_java_home": "C:\\Program Files\\Java\\jdk1.6.0_43",
...
}
}
现在,当我刷新项目时,只修改了.classpath
但是使用了这个值:
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/
org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_43"/>
正如@dit建议的那样,另一种选择是将文件gradle.properties
添加到项目中,包括:
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.6.0_43