[Maven] 从mvn archetype:create命令说起

起因

在使用mvn archetype:create -DgroupId=com.test.demo -DartifactId=news-interface -DarchetypeArtifactId=maven-archetype-webapp在控制创建pom项目时,没有创建成功,错误信息如下:

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

因为以前遇到过这个问题,由于时间问题,一直没有花精力去解决,再次遇到了,准备弄个究竟。

解决方案

从网上搜索出几个解决办法:

* 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 来进行代替(方案可行)

 该解决方案来自

http://stackoverflow.com/questions/29147329/unable-to-create-a-new-maven-hello-world-project

截图如下所示:

从字面意思中看出,mvn archetype:create指令已经过期了,需要用mvn archetype:generate进行替代。根据图片上的地址,我们找到了官网的关于create指令的介绍:

http://maven.apache.org/archetype/maven-archetype-plugin/create-mojo.html

This Plugin goal has been deprecated; Please use the denerate mojo instend.

于是改用archetype:generate 命令创建pom项目,能够创建成功,但是该方是创建的稍慢(晚上有参数设置,可以加快速度,请自查方法),并且在命令执行过程中会让选择相应的参数。这个命令以后再进行讲解。

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

此方案来自http://f.dataguru.cn/thread-498617-1-1.html,简要截图如下:

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

mvn org.apache.maven.plugins:maven-archetype-plugin:2.2:create -DgroupId=storm.test -DartifactId=teststorm -DpackageName=cn.dataguru.storm

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-29 00:30:50

[Maven] 从mvn archetype:create命令说起的相关文章

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-p

mvn archetype:create报错解决办法

执行下列命令:mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app -X  会报错: 此时将archetype:create 改为archetype:generate,执行下列命令: mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -X 此时加上-DarchetypeCatalog=internal,执行下列命令:mvn

新建maven项目时,mvn archetype:generate 速度缓慢

来自:http://www.bubuko.com/infodetail-1110458.html 一.原因 IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件. 该命令的参数-DarchetypeCatalog,可选值为:remote,internal  ,local等,用来指定archetype-catalog.xml文件从哪里获取.默认为remote,即从htt

idea新建maven项目时,mvn archetype:generate 速度缓慢

原文 idea新建maven项目时,mvn archetype:generate 速度缓慢 1 现象: 用IDEA新建maven项目,填写完各种参数,创建时,控制台卡在“[INFO] Generating project in Batch mode”处: 同时,右下方状态栏处,显示创建过程仍在进行: 2 原因 IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件. 该

MAVEN工程的构建与命令使用

Maven 可以用来管理工程,构建工具对于java开发人员来说是必须掌握的知识,本文介绍了利用eclipse构建工程,以及利用maven命令进行编译.打包. 1.构建maven环境 以本机为例,下载apache-maven-3.0.5-bin.zip,解压到E盘根目录下,修改maven解压目录下conf/settings.xml文件,修改属性本地仓库路径,此处设置为E:/jar/maven-jar. 添加环境变量,Path变量值添加:D:\apache-maven-3.0.5\bin; 在cmd

建立和使用Maven项目骨架Archetype

什么是Maven Archetype? 简单的说就是一个Maven项目的基础模板,利用这个模板我们就可快速的建立一个新的该类型项目,同时也可以建立自己的项目骨架.Maven所提供的archetype功能都是由插件Maven Archetype Plugin完成的官网地址:http://maven.apache.org/archetype/maven-archetype-plugin/ 主要命令: archetype:generate   从项目骨架创建一个maven项目,老版本里使用的是arch

maven权威指南archetype创建简单项目报错解决

在使用maven3.3.1版本和3.2.5版本时,参照<Maven权威指南>beta0.2版本第3.2节以下代码: $ mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 的时候报错,报错内容如下 [INFO] Scanning for projects... [INFO] [INFO] --------------

maven archetype:generate 命令简化项目模板数量

在maven里使用 mvn archetype:generate 来创建项目是十分方便的,但有时也不尽然.在网络不好时,从网络上加载 archetype-catalog.xml文件(http://repo1.maven.org/maven2/archetype-catalog.xml)时需要很长时间,同时这个文件里记录着所有maven支持的项目模板,但可能我们并不会用到这么多的模板,比如我常用的就有三个, 1:maven-archetype-quickstart(最简单的模板) 2:maven-

通过mvn archetype:generate创建Maven项目模板慢的问题

通过mvn archetype:generate这种交互方式来创建Maven项目模板的时候,经常会长时间卡在Generating project in Interactive mode这一行提示(图1). 看了网上的帖子(文章最底下有说明),发现是获取archetype-catalog.xml导致的(浏览器访问http://repo1.maven.org/maven2/archetype-catalog.xml,需要等待很长时间才能获取到). 其实下载下来会发现Maven提供的archetype