Java8系列(錯誤解決)--maven編譯時"-source 1.5 中不支持 lambda 表達式"問題的解決

1 問題描述

調用Java8的Stream API,進行maven編譯時,報錯如下:

[INFO] -------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on project Java8SerialLearning: Compilation failure
[ERROR] /home/gaoziqiang/eclipseWorkspace_project/Java8SerialLearning/src/main/java/cn/edu/sdut/softlab/Java8/Stream/ForEachDemo.java:[8,36] -source 1.5 中不支持 lambda 表達式

另外,我的Java配置如下:

java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

2 問題原因

maven compiler插件默認的-source和-target參數都是1.5的,即:

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>

而這裏需要的應該是1.8版本的。

3 問題解決

修改默認的maven插件的1.5版本,改爲1.8即可了。如下:

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章