我在eclipse中有一个使用lambdas的maven项目,这意味着我需要java 8.我已经将maven中的java版本设置为1.8。但是,我必须不断打开项目的属性,并将其合规性级别设置为1.8,因为它不断重置为1.6。Eclipse一直忘记JDK合规性,将它设置为1.6
我在Eclipse EE Luna 4.4.0上尝试过不同的事情,比如禁用每个项目设置,或者进入项目并将其合规性设置为1.8,但这两件事从长远来看都不起作用。
通常在将项目符合性设置为1.8后,包视图显示ok,但是如果我有一个使用lambda表达式的打开文件,编辑器仍然显示错误。然后,我必须点击编辑器中的错误标记,然后选择建议“将项目合规性级别设置为1.8”。有时候这有效,有时候不行。
问题是在启动eclipse,关闭并打开同一个项目,或者当我做结账后特别触发的。当我执行alt + f5和更新时,包视图通常没有错误,但编辑器视图通常仍显示错误。
我的eclipse maven插件使用了我在命令行中使用的相同的maven脚本,并且我从来没有在命令行中遇到过问题。
这让我疯狂,因为它每天至少发生两次,而且没有简单的解决方法。
在我的两个聚甲醛和父POM文件的末尾我有这样的:
<project>
. . .
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
你是否正在用Java 8开始Eclipse? – 2014-10-31 19:03:32
您是否尝试过使用Eclipse Perferences-> Java-> Compiler并将编译器合规性级别更改为1.8。这将使用默认值更改所有eclipse项目的默认JDK版本(尽管您付出了努力,这听起来像是这样做的)。也请看看http://maven.apache.org/plugins/maven-eclipse-plugin/trouble-shooting/jdk-being-used-is-different-than-expected.html – 2014-10-31 20:32:14
@Elliot是的,我是从命令行启动它以获得更大的控制权。仅供参考,当我将JAVA_HOME和PATH设置为Java 7或8时,它没有任何区别。 – Fabio 2014-11-01 22:22:00