一、概述:

          在使用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)_解决方案

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

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

下图摘自网上:

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

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

Maven创建项目: Failed to execute goal org.apache.maven.plugin( mvn archetype:create)_解决方案_03

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

 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命令。