首页 > 代码库 > maven编译报错 -source 1.7 中不支持 lambda 表达式

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.7</maven.compiler.source>  
        <maven.compiler.target>1.7</maven.compiler.target>  
        <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>  
    </properties>   
</profile>  
  • 设置局部的jdk,在项目的pom,xml文件中添加如下build元素

<build>  
    <plugins>  
        <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-compiler-plugin</artifactId>  
            <configuration>  
                <source>1.7</source>  
                <target>1.7</target>  
            </configuration>  
        </plugin>  
    </plugins>  
</build>  

 

maven编译报错 -source 1.7 中不支持 lambda 表达式