我刚刚为maven项目克隆了一个git存储库,然后将该项目作为maven项目导入STS。
我将项目和子模块设置为java 1.8项目,然后运行maven更新,然后注意到所有java 1.5编译器设置似乎都已重新应用。
我无法弄清楚为什么eclipse正在重置它,即使我取消选中“启用项目特定设置”,它仍会恢复为已经检查并且java 5是默认设置。
我读了一篇关于在maven-compiler-plugin配置中设置版本的帖子,但是这个项目目前在任何pom文件中都没有任何配置。
答案 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”是我能做的最好的事情,以避免编译器错误。