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

ber*_*olo 5 java eclipse maven spring-tool-suite

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

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

我不明白为什么 Eclipse 会重置它,即使我取消选中“启用项目特定设置”,它仍然会恢复为选中此选项,并将 java 5 设为默认设置。

我读过一篇关于在 maven-compiler-plugin 配置中设置版本的文章,但该项目当前在任何 pom 文件中都没有该插件的任何配置。

小智 5

在你的pom.xml说法中:

<project>
  ...
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  ...
</project>
Run Code Online (Sandbox Code Playgroud)

您必须这样做的原因是“默认源设置是 1.5,默认目标设置是 1.5,与运行 Maven 所用的 JDK 无关”。有关更多详细信息,请参阅Maven 编译器插件

当您从 Eclipse 运行Maven 更新命令而不设置显式 java 版本时,该项目将采用默认的 Maven 设置,这就是为什么您最终得到 1.5 Java 版本。