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


    一、概述:

              在使用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命令。


  • 相关阅读:
    正则判断是否为纯数值
    前后端加密解密crypto.js
    小程序使用iconfont字体图标
    LeetCode-Combination Sum II
    LeetCode-Combination Sum
    Google 2013 campus test-R1
    Google Codejam
    LeetCode-Count and Say
    LeetCode-Binary Tree Level Order Traversal II
    LeetCode-Binary Tree Level Order Traversal
  • 原文地址:https://www.cnblogs.com/duyinqiang/p/5696409.html
Copyright © 2020-2023  润新知