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

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

起因

在使用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版本,截图如下:

image

从图中展示的信息,没有发现不对的地方。于是该方案舍弃。

--- 该部分查到此处就没有细查,如有解决的朋友可以指出我配置的有什么问题。

 

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

下图摘自网上:

QQ截图20150813090959

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

image

于是本方案同样舍弃。

 

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

 该解决方案来自

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

截图如下所示:

QQ截图20150813103740

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

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

QQ截图20150813104226

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,简要截图如下:

QQ截图20150813105125

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

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

目录
相关文章
|
3月前
|
Dubbo Java 应用服务中间件
微服务框架(十)Maven Archetype制作Dubbo项目原型
  此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。   本文为Maven Archetype的制作及使用,使用archetype插件制作Dubbo项目原型
|
6月前
|
Java 测试技术 Apache
【Maven】常用命令、插件管理、私服nexus
【Maven】常用命令、插件管理、私服nexus
|
4月前
|
Java Maven 数据安全/隐私保护
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
300 0
|
2月前
|
Java 测试技术 Maven
maven的package、install、deploy命令
maven的package、install、deploy命令
|
4月前
|
Java 测试技术 Maven
maven 命令
maven 命令
18 0
|
4月前
|
Java Maven
④【Maven】Maven的构建命令
④【Maven】Maven的构建命令
21 0
|
8天前
|
Java Maven Windows
一个命令解决maven依赖下载失败后无法重新下载依赖的问题-批量删除repository库目录下所有后缀名是.lastUpdated的文件
一个命令解决maven依赖下载失败后无法重新下载依赖的问题-批量删除repository库目录下所有后缀名是.lastUpdated的文件
82 0
|
4月前
|
Java Maven Android开发
Maven - 构建与命令
Maven - 构建与命令
37 0
|
6月前
|
Java 测试技术 Maven
10Maven - Eclipse下使用maven命令
10Maven - Eclipse下使用maven命令
55 0
|
6月前
|
Java 测试技术 Maven
04Maven - Maven常用命令
04Maven - Maven常用命令
20 0

推荐镜像

更多