一、概述:
? ? ? ? ? 在使用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版本,截图如下:
?
如果信息没问题,接着看后面的方案。
?
2、删除/org/apache/maven/plugins/下的maven-archetype-plugin
下图摘自网上:
?
按照图片上说的,删除了maven-archetype-plugin,重新执行命令,仍然报同样的错误,如下图所示:
?
?
于是继续使用后面的方案。
?
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命令。
?
?
?
?
?
?
?
Maven创建项目: Failed to execute goal org.apache.maven.plugin( mvn archetype:create)
原文:http://josh-persistence.iteye.com/blog/2258213