Maven 工程缺省的情况下, 它的编译级别(compiler level)是 JDK 1.5 这一级. 对于现在的许多项目而言, 这已经太老了, 很多特性也不支持, 所以, 我们通常需要定义自己所需要的语言级别.
具体而言, 有两种方式, 一是添加两个属性值, 另外是配置 compiler plugin, 详细参考: http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
设置属性值
在 pom.xml 的 properties 标签中加入以下属性值:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- ... 其它配置略 -->
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
设置 compiler plugin
如果上述设置在某些情况下还不行, 则也可以通过设置 compiler plugin 来实现, 这点可以通过在 pom.xml 文件的 build 节点下的 plugins 节点下面增加一个 maven-compiler-plugin 来实现, 具体如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- ... 其它配置略 -->
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
以上配置将语言级别设置为 Java 1.8, 你也可以根据需要设为 1.7 或 1.6.
之后, 在工程下: 右键--maven--update project 来重新编译整个项目. (适用于 Eclipse)