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

Posted 当年亦如是

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

 

以上是关于maven编译报错 -source 1.7 中不支持 lambda 表达式的主要内容,如果未能解决你的问题,请参考以下文章

Maven报错Missing artifact jdk.tools:jdk.tools:jar:1.7

jdk1.8下maven3.3.3报错版本不对.除了用jdk1.6,还有啥办法吗

eclipse里maven install时,报错提示jdk为无效的目标版本:1.7

IDEA创建maven项目时,报错[FATAL_ERROR] Cannot start Maven: Cannot find JRE '1.7'

解决导入MAVEN项目报错Dynamic Web Module 3.1 requires Java 1.7 or newer.

IntelliJ Idea编译报错:无效的源发行版 1.7