Eclipse如何支持Lambda表達式

1. 最近由於要接觸另一個新項目,並且項目中用到Lambda表達式,因此在Import該project到Spring tool suite(簡稱STS)中的時候報錯很是多:html

對於「<>」這種error,將STS的編譯環境都換成1.7的之後,確實就能夠解決了。java

可是對於下圖中明顯是Lambda表達式語法的error卻沒法解決:eclipse

百度以後發現要支持Java Lambda表達式,就必須支持Java8,因此準備下載對應的插件,可是並未搜索到須要的支持STS的Java 8 support:測試

因而乎繼續百度,發現這個版本的STS並不支持Java 8特性 (並且在選擇Java Compiler Level版本的時候,你能夠看到STS最高只支持1.7,這時候也應該能夠想到不支持Java 8)。。。ui

2. 因此就去下載了比較新的Eclipse版本Neon(固然也能夠下載3.8.4及以上版本的STS),可是雙擊eclipse.exe後直接給我報錯:spa

Java was started but returned exit code=13. (由於當時立馬去找解決方法了,因此並未截圖,就借用他人的圖):.net

搜索一下,發現去Control Panel -> Programs -> Programs and Features -> Uninstall Java 8相關的Updates,而後重啓Eclipse就能夠解決了。(這是由於Eclipse若是是64位的,電腦上就不能有32位的Jdk,會衝突。插件

此時導入有Lambda表達式的Project,發現能夠正常編譯和運行。code

3. 若你安裝的是其餘版本,好比Eclipse Kepler (4.3.2) SR2, 可能須要另外安裝 Java 8 support for Eclipse Kepler SR2. 具體步驟以下:htm

  • 打開Eclipse的Help->Eclipse Marketplace-> Search Java 8 Kepler:

  • 從新打開eclipse以後,組件就安裝好了,而後咱們須要建立一個類輸入java8特性的代碼測試一下咱們的eclipse是否能夠正常的支持java8的代碼:

java8新特性系列:[1]讓你的eclipse支持java8

  • 此處省略建立Class的步驟,直接貼上一個Lambda的小例子:

/** 
* 針對eclipse是否支持java8小測試 
* MainClass
* @author Vicky Zhu
* */
public class MainClass {
  public static void main(String[] args) {
        /*
         * 嘗試輸入一個簡單的lambda表達式來測試是否能夠編譯和運行java8的代碼
         */
        new Thread(() -> System.out.println("這是一個java8的小例子,可使用lambda表達式")).start();
    }
}

  • 右鍵Run As -> Java Application,若是可以正常編譯執行,就說明Eclipse的Java 8組件已經徹底安裝OK.
相關文章
相關標籤/搜索