我在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