Eclipse将编译器设置重置为Java 1.5

我刚刚为一个Maven项目克隆了一个git存储库,然后将该项目作为一个Maven项目导入到STS中.

我将项目和子模块设置为Java 1.8项目,然后运行了Maven更新,然后注意到所有Java 1.5编译器设置似乎都已重新应用.

我无法弄清楚为什么eclipse会重置它,即使我取消选中“启用项目特定设置”,它仍然会恢复为选中状态,并且Java 5是默认设置.

我读了一篇有关在maven-compiler-plugin配置中设置版本的文章,但是该项目目前在任何pom文件中都没有对该插件进行任何配置.

最佳答案
在您的pom.xml中输入以下内容:

<project>
  ...
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  ...
</project>

您必须这样做的原因是“与运行Maven的JDK无关,默认的源设置为1.5,默认的目标设置为1.5”.有关更多详细信息,请参见Maven Compiler Plugin.

当您从Eclipse运行Maven update命令而不设置显式的Java版本时,项目将采用默认的Maven设置,这就是为什么最终使用1.5 Java版本的原因.

转载注明原文:Eclipse将编译器设置重置为Java 1.5 - 代码日志