maven编译报错 -source 1.5 中不支持 lambda 表达式(转)

原文链接:http://blog.csdn.net/kai161/article/details/50379418

在用maven编译项目是由于项目中用了jdk 1.8, 编译是报错  -source 1.5 中不支持 lambda 表达式,Google找到这篇解决方案,记录一下:

编译时报如下错误:

[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] AAA\.jenkins\workspace\BBB\CCC.java:[73,46] 错误: -source 1.5 中不支持 diamond 运算符
[ERROR]   (请使用 -source 7 或更高版本以启用 diamond 运算符)
[ERROR] AAA\.jenkins\workspace\BBB\DDD.java:[38,33] 错误: -source 1.5 中不支持 lambda 表达式
[ERROR]   (请使用 -source 8 或更高版本以启用 lambda 表达式)

奇怪的是我的 Jenkins 构建机器上只安装了 JDK 8,为什么还会说不支持 diamond 和 lambda 呢?在 Google 大神的指引下,在 Maven Compiler 插件介绍 里面找到了答案:Also note that at present the default source setting is 1.5 and the default target setting is 1.5, independently of the JDK you run Maven with.

原来 Maven Compiler 插件默认会加 -source 1.5 及 -target 1.5 参数来编译(估计是为了兼容一些比较老的 Linux 服务器操作系统,它们通常只有 JDK 5),而我们的代码里使用了 JDK 7/8 的语法。解决办法在这里

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>

转载地址:http://ju.outofmemory.cn/entry/155158

时间: 2024-08-09 02:18:22

maven编译报错 -source 1.5 中不支持 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.ja

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

ji与基于maven的工程java应用程序非web应用的 参考这个https://www.cnblogs.com/softidea/p/6256543.html 但是java应用里边是没有这个配置的,然后我打开一个javaweb应用,发现里边有,抱着试一试的态度 直接随便找个工程的build部分拆过来,贴到pom.xml中就行了然后版本号改了 <build> <plugins> <plugin> <groupId>org.apache.maven.plugi

maven编译报错 -source 1.5 中不支持 lambda(或diamond) 表达式,编码 UTF-8 的不可映射字符

在用maven编译项目是由于项目中用了jdk 1.8, 编译是报错  -source 1.5 中不支持 lambda 表达式. 错误原因: Maven Compiler 插件默认会加 -source 1.5 及 -target 1.5 参数来编译(估计是为了兼容一些比较老的 Linux 服务器操作系统,它们通常只有 JDK 5),而我们的代码里使用了 JDK 7/8 的语法. 解决方法: 1 <project> 2 [...] 3 <build> 4 [...] 5 <plu

IDEA中打包Spark项目提示Error:(16, 48) java: -source 1.5 中不支持 lambda 表达式

在idea中新建了一Spark的项目,在做项目的编译打包的时候,提示如下错误信息: Error:(16, 48) java: -source 1.5 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式) 解决方法是: 第一步: File --> Project Stucture 选择项目设置Lanugage level, 如下图所示 第二步: File --> Settings --> Compiler --> Java Compi

maven 报错 -source 1.5 中不支持 diamond 运算符

maven 执行install 报-source 1.5 中不支持 diamond 运算符 解决办法, 指定编译版本 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>

SpringBoot MAVEN编译报错Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:

参考了好几篇文章没搞定,直到查询错误关键字 An unknown compilation problem occurred 分别参考了以下博客: https://blog.csdn.net/fanrenxiang/article/details/80864908 https://blog.csdn.net/weixin_42167717/article/details/80377123 最后搞定的是这篇 https://my.oschina.net/u/170632/blog/857078 An

新建的maven项目直接用maven编译报错

1.新建的maven项目直接编译的时候会报错: [ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]

maven 编译报错 “找不到符号”

报错如下: E:\workspace\iccardcore\mis\src\main\java\com\hxsmart\sicard\core\webapp\action\process\DayEndProcessBean.java:[298,65] 找不到符号符号: 变量 autoTapeFile位置: 类 com.hxsmart.framework.webapp.util.Constant E:\workspace\iccardcore\mis\src\main\java\com\hxsma

maven 编译报错 java: -source 1.5 中不支持switch 中存在字符串

在pom里面加上 <build> <defaultGoal>compile</defaultGoal> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configurat