运行mvn命令出现MojoNotFoundException异常

简介

尝试从命令行创建Maven项目时,遇到了目标不支持的情况,尽管Maven给出了明确的提示信息,但感觉这种问题比较典型,需要记录一下。

问题描述

今天尝试使用mvn命令创建工程,输入:mvn archetype:create -DgroupId=net.csdn.jliu -DartifactId=simple -DpackageName=net.csdn.jliu.mavenbook 运行结果显示错误:

D:\test>mvn archetype:create -DgroupId=net.csdn.jliu -DartifactId=simple -Dpacka
geName=net.csdn.jliu.mavenbook
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.505 s
[INFO] Finished at: 2017-09-11T21:06:02+08:00
[INFO] Final Memory: 8M/155M
[INFO] ------------------------------------------------------------------------
[ERROR] Could not find goal 'create' in plugin org.apache.maven.plugins:maven-ar
chetype-plugin:3.0.1 among available goals crawl, create-from-project, generate,
 help, integration-test, jar, update-local-catalog -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[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 rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoNotFoundEx
ception
D:\test>mvn -v
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:0
6+08:00)
Maven home: C:\apache-maven-3.5.0\bin\..
Java version: 1.8.0_131, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_131\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
从日志信息中,可以看出来目标maven-archetype-plugin插件并不支持目标create,同时日志信息中还给出了支持目标列表。从中可以看出当前版本的插件并不支持create目标。我们只能从支持的目标选择,如果能够快速的查看目标的具体信息呢?

根据日志里面提供的wiki链接https://cwiki.apache.org/confluence/display/MAVEN/MojoNotFoundException,研读了一下官方给出的帮助信息,发现可以使用下面的命令可以快速查询帮助信息:

mvn org.apache.maven.plugins:maven-archetype-plugin:help

或者

mvn help:describe -Dplugin=org.apache.maven.plugins:maven-archetype-plugin

后者可以用简写方式来查询

mvn help:describe -Dplugin=archetype
根据帮助信息,当前3.0.1版本的插件,创建工程需要使用目标generate.

问题解决

根据上面的分析,将目标修改为generate即可:

mvn archetype:generate -DgroupId=net.csdn.jliu -DartifactId=simple -DpackageName=net.csdn.jliu.mavenbook 

问题的重点是如何通过本文列举的两种方式查看插件的帮助信息,协作我们快速解决相关问题。

使用Maven help插件

接下来,系统介绍一下help插件。Maven Help插件能让你列出活动的Maven Profile,显示一个实际POM(effective POM),打印实际settings(effective settings),或者列出Maven插件的属性。

Maven Help 插件有四个目标。前三个目标是—— active-profiles, effective-pom 和effective-settings —— 描述一个特定的项目,它们必须在项目的目录下运行。 最后一个目标—— describe ——相对比较复杂,展示某个插件或者插件目标的相关信息。
help:active-profiles
    列出当前构建中活动的Profile(项目的,用户的,全局的)。
help:effective-pom
    显示当前构建的实际POM,包含活动的Profile。
help:effective-settings
    打印出项目的实际settings, 包括从全局的settings和用户级别settings继承的配置。
help:describe
    描述插件的属性。它不需要在项目目录下运行。但是你必须提供你想要描述插件的 groupId 和 artifactId。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值