1. 程式人生 > >maven編譯報錯 -source 1.7 中不支持 lambda 表達式

maven編譯報錯 -source 1.7 中不支持 lambda 表達式

表達 alt 服務 config img comm plugin ava ror

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 表達式