SpringBoot pom 文件中 java版本问题
- 问题描述
springboot 项目报错,无法识别λ表达式,编译报错。
- 问题背景
SpringBoot版本。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
- 问题解析
我们都知道springboot项目中parent项目规定了java的编译版本。所以查看org.springframework.boot:spring-boot-starter-parent-1.5.9.RELEASE.pom 文件。
<properties>
<java.version>1.6</java.version>
……
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
</properties>
可以看到。1.5.9.RELEASE版本的springboot默认是使用java1.6版本进行编译的。而λ表达式是JDK1.8引入的新特性,所以编译报错,无法识别λ表达式。
- 问题解决
1.更新springboot版本至2.0.0.RELEASE以上版本。
2.(推荐)项目pom文件中指定java版本覆盖父工程的java版本。加入如下代码。
<properties>
<java.version>1.8</java.version>
</properties>