2016-12-26 277 views

回答

0

行家的編譯輸出將被JDK7。 您正在尋找的是您在IDE中使用的JRE版本,如在eclipse中的項目屬性中配置的那樣。您應該下載JDK7並將其設置在Eclipse內的配置中: 首選項 - > Java - >安裝JRE

並選擇您要使用的Java庫。

+0

我有點困惑。所以有兩種情況:1)eclipse本身使用的jdk版本2)項目使用的jdk。 '首選項 - > Java - >安裝的JRE'用於情況1或2? – lily

+0

第1種情況與您的任何項目無關:) 第2種情況解決了在庫視圖中查看jre1.8的問題(如截圖中所示)。 Eclipse加載jdk1.8,但仍然可以使用它來編譯爲jdk7字節碼。 也明白Maven使用maven編譯器插件進行編譯,但不能通過擁有自己內部編譯器的eclipse(除非你從eclipse本身運行maven build)來進行編譯。所以你應該在項目設置中也設置目標JDK。另請參閱此答案http://stackoverflow.com/questions/2540548/how-do-i-get-eclipse-to-use-a-different-compiler-version-for-java – Rohi

1

要澄清Rohi給出了答案 - 在你的pom.xml

JDK 1.7版本只是告訴你希望你的代碼和編譯的類是與JDK 1.7兼容Maven的編譯器。我的意思是,如果你在你的代碼中使用了像Lambdas這樣的功能,它特定於JDK 1.8或更高版本,它會給你一個編譯錯誤,因爲maven編譯器認爲你正在爲JDK 1.7編寫代碼。

在你的情況下,你的eclipse/project/maven編譯器被配置爲使用JDK 1.8,你會在庫中看到JDK 1.8。雖然,因爲您將Maven編譯器的合規性設置爲JDK 1.7,即使您的庫中包含JDK 1.8的功能,也不能使用JDK 1.8的功能。

如果要在庫中包含JDK,您應該將默認工作空間JDK更改爲1.7。

查看here瞭解更多詳情,並查看here以使用不同的JDK編譯您的項目,而無需更改默認工作空間JRE。