maven编译报错 -source 1.7 中不支持 lambda 表达式
Maven项目编译失败:
[ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /opt/ihome/jenkins/jobs/dev-aladdin-order/workspace/aladdin-order-intf/src/main/java/com/ihomefnt/aladdin/common/utils/RemoteUtil.java:[148,50] 错误: -source 1.7 中不支持 lambda 表达式
疑问:
1. Jenkins 服务器只安装了1.8版本的JDK,且Jenkins配置指定了JDK的路径。
没搞清楚,但解决思路是想通过指定JDK版本未1.8版本来编译。
maven配置全局的jdk和配置局部的jdk
-
设置全局的jdk,在setting.xml文件中的profiles元素下添加如下profile元素
<profile> <id>jdk17</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
-
设置局部的jdk,在项目的pom,xml文件中添加如下build元素
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>