3 回答
TA贡献1789条经验 获得超10个赞
检查您maven-compiler-plugin的配置方式,它应使用Java版本7或更高版本:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
TA贡献1815条经验 获得超10个赞
解决方案1-在pom.xml中设置这些属性
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
解决方案2-配置Maven编译器插件(始终在pom.xml中)
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
...
为什么会发生
出现问题是因为
目前,默认源设置为1.5,默认目标设置为1.5,与运行Maven的JDK无关。如果要更改这些默认值,则应按照设置Java编译器的-source和-target中所述设置源和目标。
Maven编译器插件简介(直到3.3版)
以及最新的Maven版本:
还要注意,当前的默认源设置为1.6,默认目标设置为1.6,与运行Maven的JDK无关。强烈建议您按照设置Java编译器的-source和-target中所述,通过设置source和target来更改这些默认值。
Maven编译器插件介绍
这就是为什么更改JDK对源代码级别没有影响的原因。因此,您有两种方法可以告诉Maven使用哪个源级别。
要使用JDK版本?
如果您将目标设置为1.7(如本例所示),请确保mvn命令实际上是使用jdk7(或更高版本)启动的
IDE上的语言水平
通常,IDE使用maven pom.xml文件作为项目配置的源。在IDE中更改编译器设置并不总是会影响maven构建。因此,使项目始终可通过Maven进行管理(以及与其他IDE互操作)的最佳方法是编辑pom.xml文件,并指示IDE与maven同步。
TA贡献1906条经验 获得超10个赞
您必须更改配置:
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
您应该了解source/tagetJavaC中的选项与JDK 1.8 / 1.7等的用法之间的区别。
除此之外,您还应该升级使用maven-compiler-plugin。
添加回答
举报