2016-02-26 125 views
1

的Java代碼,我很驚訝有多難操作的Eclipse - 幾乎所有的東西我嘗試做與SE問題結束。設置Eclipse的STS使用Java 8編譯我的項目

我有一個新的項目,該項目由約兩個文件和一些外部庫。此項目可以通過命令行腳本手動編譯:

rem List all java files in jar/ directory to text file 
dir /s /B jar\*.java > sources.txt 
rem make javac compile those files and put the .class files in bin directory 
javac -cp %PZCLASSPATH% -d bin @sources.txt 

我使用java 8 JDK編譯項目。我甚至都沒有夢想過構建Eclipse的過程(或者完全按照相同的方式構建),但至少我想讓它使用Java 8進行代碼驗證,以避免代碼與舊Java版本不兼容的錯誤:

image description

我看着項目屬性,並試圖找到的東西設置:

image description

正如你所看到的,Java的8還挺在菜單中丟失。在NetBeans中,我記得只是將JDK更改爲所需的版本。可能比硬編碼菜單更好的方法。

而且菜單甚至不似乎有太大的影響,因爲我看到The import java.util.Arrays cannot be resolved錯誤import java.util.Arrays;命令:

image description

,所以它不是用連Java 7的現在。請注意,其他項目在IDE中正常工作,但這是手工製作的,因此存在問題。

是否有配置它的另一種方式?

+0

它看起來像你正在使用舊版本的STS。最新版本的STS已經支持Java8編譯器設置很長一段時間 - 獨立於您正在運行IDE本身的JDK。 –

回答

1

你需要做的第一件事是確保您的工作空間訪問一個Java JRE 8。

進入 「窗口>>首選項」。然後在搜索框中輸入「JRE」。選擇「已安裝的JRE」。如果沒有Java 8在那裏。加一個。現在

enter image description here

是Eclipse有可用的就可以開始在項目中使用它JRE。您可以通過在相同的「Installed JRE」前綴對話框中單擊前面的複選框來將Java 8設置爲「默認JRE」,或者將其選爲特定項目(這實際上是使其成爲默認值的最佳選擇)保證一個項目將使用它,因爲它只有一個'默認'使用,除非項目具體設置它)。

右鍵單擊項目並進入「屬性>>的Java的Buildpath」。

檢查「庫」選項卡是否顯示用於Java 8的「JRE系統庫」。如果顯示錯誤的JRE,請將其刪除並添加一個新的JRE系統庫,確保選擇一個帶有您想要的正確「執行環境」使用方法:

enter image description here

通常這應該是足夠了。編譯器目標/源級別通常會自動遵循JRE版本。雖然...它實際上可以覆蓋它。這是因爲JDK 8向後兼容,並且能夠編譯並運行到Java 7,6等。因此,編譯器源和目標級別可以獨立配置。

所以......最好檢查一下,確保你沒有意外覆蓋編譯器設置。你已經有了該設置的截圖,所以我假設你知道在哪裏找到它(項目>>屬性>> Java >>編譯器)。然而,與對您的截圖,我建議你不要設置專門,而是選擇選項,使其遵循選定的JRE:

enter image description here

最後請注意:手動配置這確實是一個有點痛苦。但是人們通常不這麼做。例如,如果您使用maven,那麼假設您的pom文件指定了如何編譯代碼以及它需要什麼JRE的所有細節,那麼像M2E這樣的工具將爲您配置Eclipse,剩下的工作就是這是我的指示的第一步,以確保所需的JRE可供使用。 M2E將自動處理所有其他步驟)。