首页 > 代码库 > maven报 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile(defalut-compile) on project 项目名称:No such compile 'javac'

maven报 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile(defalut-compile) on project 项目名称:No such compile 'javac'

     这个问题纠结了一天,在另外一个电脑是正常的,但是从服务器下载下来到另外一个电脑的时候却出现了如下图问题

技术分享

看到javac大家都会想到是编译出现问题,而本地的配置如下图所示: 

技术分享

看着配置都是一致的,会是哪里的问题呢?经网上咨询有个大神说是可能是maven没有配置指定的jdk原因,原因如下:

  maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本来进行处理,这样就容易出现版本不匹配的问题,以至于可能导致编译不通过的问题。为了处理这一种情况的出现,在构建maven项目的时候,我习惯性第一步就是配置maven-compiler-plugin插件。解决办法:

     在pom.xml中指定使用的版本 1 <build>

 2         <plugins> 3             <plugin> 4                     <groupId>org.apache.maven.plugins</groupId> 5                     <artifactId>maven-compiler-plugin</artifactId>
 <!-- 使用3.5.1也是正确 不知道为啥 如果是3.0就是错误的,但是maven里面也有3.0的版本,可能跟我电脑安装的maven版本有关,本地按照maven版本为3.0.5 -->
 6             <version>3.1</version>      7                     <configuration> 8                         <defaultLibBundleDir>lib</defaultLibBundleDir> 9                         指定高版本的源码和编译后的字节码文件10                         <source>1.6</source>11                         <target>1.6</target>12                         <optimize>true</optimize>13                         <debug>true</debug>14                         <showDeprecation>true</showDeprecation>15                         <showWarnings>true</showWarnings>16                         <encoding>UTF-8</encoding>17                     </configuration>18                 </plugin>19             20         </plugins>21     </build>

经过指定后,电脑可以正常运行了。

 

 

问题2:

1 [WARNING] 2 [WARNING] Some problems were encountered while building the effective model for com.xxx.xxx:xxxx:jar:0.0.1-SNAPSHOT 3 [WARNING] build.plugins.plugin.version for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 72, column 12 4 [WARNING] 5 [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. 6 [WARNING] 7 [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. 8 [WARNING] 

对照官网用法:http://maven.apache.org/plugins/maven-compiler-plugin/usage.html 

起初配置:

 1 <plugins>   2     <plugin>   3         <artifactId>maven-compiler-plugin</artifactId>   4         <configuration>   5             <source>1.6</source>   6             <target>1.6</target>   7             <encoding>UTF-8</encoding>   8         </configuration>   9     </plugin>  10 </plugins> 

该问题解决办法是需要置顶maven版本,解决办法:

 1 <plugins>   2         <plugin>   3             <artifactId>maven-compiler-plugin</artifactId>   4             <version>3.0</version>   5             <configuration>   6                 <source>1.6</source>   7                 <target>1.6</target>   8                 <encoding>UTF-8</encoding>   9             </configuration>  10         </plugin>  11     </plugins>  

 

maven报 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile(defalut-compile) on project 项目名称:No such compile 'javac'