一、问题提出
新建一个空的Maven项目,jdk使用的时1.8,但是在代码中使用lambda表达式时报错,查找原因:
- 查看项目结构,发现其语言级别为5.0,并不是与我们使用的jdk1.8项对应的8.0
- 查看编译器版本,发现时1.5,难怪使用lambda表达式会报错呢!
二、解决方案
1. 在项目的pom文件中解决
两种实现方式:
方式一:单独设置。在pom文件的properties标签中新增如下内容
<properties>
<!-- 设置Maven全局变量,使用JDK版本,默认为1.5 -->
<!-- 源文件(编译时)使用的jdk版本 -->
<maven.compiler.source>${
java.version}</maven.compiler.source>
<!-- 目标字节码文件使用的jdk版本 -->
<maven.compiler.target>${
java.version}</maven.compiler.target>
<!-- 自定义全局变量(多用于版本号的定义), 使用方法${
lombok.version} -->
<lombok.version>1.18.16</lombok.version>
<java.version