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

时间:2018-02-05 10:58:12

标签: java eclipse maven spring-tool-suite

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

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

我无法弄清楚为什么eclipse正在重置它,即使我取消选中“启用项目特定设置”,它仍会恢复为已经检查并且java 5是默认设置。

我读了一篇关于在maven-compiler-plugin配置中设置版本的帖子,但是这个项目目前在任何pom文件中都没有任何配置。

2 个答案:

答案 0 :(得分:3)

pom.xml中放置此内容:

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

您必须执行此操作的原因是&#34;默认源设置为1.5,默认目标设置为1.5,与您使用&#34;运行Maven的JDK无关。有关详细信息,请参阅Maven Compiler Plugin

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

答案 1 :(得分:0)

Eclipse Photon Release (2018) 似乎只能识别 Java 10。使用

<project>
  ...
  <properties>
    <jdk.version>11</jdk.version>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
  </properties>
  ...
</project>

导致它恢复到 1.5。用“10”替换“11”是我能做的最好的事情,以避免编译器错误。