停止类路径和设置上的Eclipse更新

时间:2016-03-01 14:16:03

标签: java eclipse java-8 jdk1.6

我升级到最新的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
  • 启动Eclipse

2 个答案:

答案 0 :(得分:1)

这是一个已知问题,将通过Buildship 1.0.10修复

请参阅https://bugs.eclipse.org/bugs/show_bug.cgi?id=472996

末尾的讨论

答案 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