欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Maven创建项目: Failed to execute goal org.apache.maven.plugin( mvn archetype:create)

程序员文章站 2022-05-08 21:24:58
...

一、概述:

          在使用mvn 命令mvn archetype:create -DgroupId=com.chuanliu.c11 -DartifactId=c11searcher在控制创建maven项目和pom项目时,没有创建成功,错误信息如下:

 

 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.4:create (default-cli)  on project standalone-pom: Unable to parse configuration of 3:  mojo org.apache.maven.plugins:maven-archetype-plugin:2.4:create for parameter #: Cannot create instance of interface org.apache.maven.artifact.repository.ArtifactRepository -> [Help 1]  [ERROR]  [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginConfigurationException

 

二、可能的原因有几个,比如Java HOME设置不正确,Maven HOME设置不正确,在Maven3使用Maven2的命令,具体为:

 

* JAVA_HOME没有设置或者设置有误、m2_home设置有误

* 删除/org/apache/maven/plugins/下的maven-archetype-plugin

* archetype:create命令已经过期,需要使用 archetype:generate 来进行代替(方案可行)

* maven-archetype-plugin 2.3版本的插件有问题,换其它版本进行创建(方案可行)

有了上述的解决方法,所以就对它们一一测试。

 

 

三、解决方案:

1、JAVA_HOME没有设置或者设置有误、m2_home设置有误

于是去查询mvn所依赖的版本和jdk版本,截图如下:

Maven创建项目: Failed to execute goal org.apache.maven.plugin( mvn archetype:create)
            
    
    博客分类: Maven mavencreategreate创建项目 

 

如果信息没问题,接着看后面的方案。

 

2、删除/org/apache/maven/plugins/下的maven-archetype-plugin

下图摘自网上:

Maven创建项目: Failed to execute goal org.apache.maven.plugin( mvn archetype:create)
            
    
    博客分类: Maven mavencreategreate创建项目 

 

按照图片上说的,删除了maven-archetype-plugin,重新执行命令,仍然报同样的错误,如下图所示:

 

Maven创建项目: Failed to execute goal org.apache.maven.plugin( mvn archetype:create)
            
    
    博客分类: Maven mavencreategreate创建项目 

 

于是继续使用后面的方案。

 

3、archetype:create命令已经过期,需要使用 archetype:generate 来进行代替

因为我当前使用的是maven3.3的版本,其实从控制台上的错误信息也可看出,报错的是2.4的信息,所以也可猜测出是版本引起来的。经查文档可看出需要使用generate代替create,即将

mvn archetype:generate -DgroupId=com.chuanliu.c11 -DartifactId=c11searcher

代替之前的

mvn archetype:create -DgroupId=com.chuanliu.c11 -DartifactId=c11searcher

 

4、maven-archetype-plugin 2.4版本的插件有问题,换其它版本进行创建

于是采用以下指令进行尝试,发现可以生成:

mvn org.apache.maven.plugins:maven-archetype-plugin:2.2:create  -DgroupId=com.chuanliu.c11 -DartifactId=c11searcher

 

以上几种方案可能在不同的环境下会有不同可行性,在我本机测试方案3和方案4是可行的。如有朋友有其它解决方案,可以跟我留言。关于create命令就讲到这里。maven在3.0.5及以上就建议采用genrate命令了,建议大家尽量采用genrate代替create命令。