【Maven】Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.x.x
·
【问题现象】
在使用maven构建springboot或springcloud项目中,提示如下错误:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.x.x:compile (default-compile) on project topten: Fatal error compiling
【原因】
项目对应的“maven-compiler-plugin”插件没有设置,或设置的环境与项目JDK的环境不一致导致。
对于Maven而言,如果我们不告诉它我们的代码要使用什么样的JDK版本编译的话,它就会用 “maven-compiler-plugin”默认的JDK版本来进行处理,这样就容易出现版本不匹配,以至于可能导致编译不通过的问题。
“maven-compiler-plugin”是一个用来编译项目代码的Maven插件,它默认的编译器是javax.tools.JavaCompiler,用来编译Java源码,所以需要将该插件的版本与项目JDK的版本保持一致,才能进行编译。
【解决】
在pom.xml中添加如下内容,需要保证本版与项目JDK版本一致;
若已经有该内容,则只需将版本改为和JDK版本一致即可,如下。
同时,可以看到配置中有target、source两个版本配置,一般来说target、source两个版本配置是保持一致的,但是,有时候为了让程序能在其他版本的JDK中运行,会存在target不同于source的情况。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
右击项目,打开“Open Module Settings”,找到“Project”-“Project SDK”,这里即项目所指定的JDK,后续大部分配置都需要与其保持版本一致,不然会出现兼容性错误,如图:
版本号保持一致后,IDEA右侧找到“Maven”工具栏,打开“LifeCycle”,执行“validate”或“compile”即可。
更多推荐
已为社区贡献2条内容
所有评论(0)