转载

Maven编译失败:use -source 7/8 or higher to do something

今天碰到的Maven编译问题还不少,不过解决起来都不算难,修改一个配置即可,在这里做一下记录

错误信息

在Maven编译的过程中,我们偶尔会碰到这些莫名奇妙的问题:

use -source 7 or higher to enable multi-catch statement

use -source 8 or higher to enable lambda expressions

use -source 8 or higher to enable method references

....

异常信息读起来不难,要求我们用更高版本的JDK去执行编译命令,可是我们已经使用:

<properties>
  <java.version>1.8</java.version>
</properties>

来指定JDK版本了呀,那为什么还是会出错?

解决办法

项目所用的JDK版本,跟我们用Maven编译的时候的JDK版本不是用同一个参数来设置的,所以对于maven-compiler-plugin

我们需要在它的configuration下增加两个配置项:

<source>1.8</source>
<target>1.8</target>

完整配置如下:

<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>

Author:liumapp

Home-page:http://www.liumapp.com

Email:liumapp.com@gmail.com

没有什么问题是一行代码解决不了的,如果有那就两行,但除了香烟跟姑娘。

原文  http://www.liumapp.com/articles/2018/07/28/1532781600150.html
正文到此结束
Loading...