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

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     <plugins>
 6       <plugin>
 7         <groupId>org.apache.maven.plugins</groupId>
 8         <artifactId>maven-compiler-plugin</artifactId>
 9         <version>3.2</version>
10         <configuration>
11           <source>1.8</source>
12           <target>1.8</target>
<encoding>utf8</encoding>
13 </configuration> 14 </plugin> 15 </plugins> 16 [...] 17 </build> 18 [...] 19 </project>

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

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