问题
最近发现在使用mvn的archetype插件创建项目的时候,会出现BUILD ERROR的现象。
我使用的指令是 mvn archetype:generate
错误提示信息如下所示:
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Internal error in the plugin manager executing goal 'org.apache.maven.plugins:maven-archetype-plugin:2.3-SNAPSHOT
:generate': Unable to load the mojo 'org.apache.maven.plugins:maven-archetype-plugin:2.3-SNAPSHOT:generate' in the plugin 'org.apache.maven.plugins:maven-archetype-plugin'. A required class is missing: org/apache/commons/io/input/XmlStreamR
eader
org.apache.commons.io.input.XmlStreamReader
原因分析
在网上搜一下,原因是这样的:
运行maven插件的goal的时候,比如 指令 mvn archetype:generate maven首先会在当前pom以及super pom里面搜索指定插件是否有配置插件的坐标,如果没有配置,那么maven会从settings.xml中配置的插件仓库中去下载当前最新版本的插件,通过log我们可以看到maven-archetype-plugin的最新版本是 2.3-SNAPSHOT,然而恰好这个版本的archetype插件是有问题的,所有就导致这个插件并不可用。
解决方法
方法一:在运行时指定插件的版本
archetype的最新release版本是2.2,指令如下所示,就可以运行成功,
mvn org.apache.maven.plugins:maven-archetype-plugin:2.2:generate
前面的org.apache.maven.plugins:maven-archetype-plugin:2.2是archetype插件的maven坐标
方法二:打开maven的setting.xml文件
找到有效的插件仓库的配置位置,在<pluginRepository>标签下面加上
<snapshots>
<enabled>false</enabled>
</snapshots>
的配置,这样在下载插件的时候就不会下载快照版本了。
其实出现了这个问题的同学,一定不是使用maven自带的默认插件仓库,因为super pom中配置的maven 默认插件仓库已经加上了上述配置。
参考:
分享到:
相关推荐
archetype:generate一起使用mvn archetype:generate或 mvn archetype:generate \ -DarchetypeGroupId=me.thingle.archetypes \ -DarchetypeArtifactId=java8-jersey2-guice4-webapp-archetype \ -DarchetypeVersion=...
通过mvn archetype:generate生成一个新的Jasmine项目(请参见下面的代码段)。 在生成pom.xml调整Maven项目属性browser 生成新项目: mvn archetype:generate -DachetypeCatalog=local -DarchetypeGroupId=...
启动您的CLI并输入: mvn archetype:generate -Dfilter=com.airhacks:javaee8-essentials-archetype以创建完整的Java EE 8“ kB”项目。 使用最新版本。 还要签出: 在您选择的IDE中,使用com.airhacks组,然后...
通过mvn archetype:generate生成一个新的JsTestDriver-Jasmine-project(请参见下面的代码段)。 在生成pom.xml调整Maven项目属性browser 生成新项目: mvn archetype:generate -DachetypeCatalog=local -...
1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -...
在使用maven命令创建maven项目时候执行到Generating Project in Batch mode 卡住,是因为要下载archetype-catalog.xml(4M)文件,可以单独下载后使用-DarchetypeCatalog=local引用本地下载的文件,需要将archetype-...
catalog\2.4 下面 创建maven项目例子: mvn archetype:generate -DgroupId=org.dyb -DartifactId=mvndemo -DarchetypeArtifactId=maven- archetype-quickstart -DinteractiveMode=false -X -DarchetypeCatalog=local
之前上传过该资源,看下载人挺多,更新一线最新版本...在使用mvn archetype:generate命令时,加上-DarchetypeCatalog=local,以替换网络上的catalog.xml。 参考链接:http://www.cnblogs.com/gmq-sh/p/4742698.html
git clone https://github.com/SkeletonEye/spigot-archetype.git .mvn install完成一次之后,您可以使用以下命令生成一个新项目: mvn archetype:generate -DarchetypeArtifactId=spigot-archetype -...
创建一个工程后,在工程中使用mvn archetype:create-from-project,maven会将当前工程作为一个骨架工程,在target/generated-sources/archetype 生成相应的骨架目录,前往生成的archetype目录,执行mvn isntall ...
描述:通过maven的自定义archetype创建自定义的项目框架 1.下载项目到你的本地workspace 2.进入到你该项目的根目录(也就是pom.xml所在的目录) 3.执行命令把该项目安装到你的本地仓库 mvn clean install 4.执行命令...
把archetype-catalog.xml放在.m2目录下后我们在使用mvn archetype:generate时在后面添加-DarchetypeCatalog=local 这时mvn会使用本地的原型数据来供你选择生成骨架的原型。 archetypeCatalog用来指定maven-...
键入以下命令:mvn archetype:generate -DgroupId=com.cqupt -DartifactId=NumberGenerator -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=falseMaven 目录布局使用mvn archetype:generate +...
从gihub克隆项目并运行mvn install 现在您可以使用它了。 mvn archetype:generate \ -DarchetypeGroupId=...
mvn archetype:generate -DarchetypeGroupId=org.jgrapht.archetypes -DarchetypeArtifactId=maven-archetype-jgrapht -DarchetypeVersion=1.2.0 将创建一个名为myapp的文件夹,其中包含一个准备进行编码的Maven项目...
文件放的位置和数据库信息需要在配置文件中自己配置,不然是用不了的
mvn install单独jar到仓库使用方法举例
**约定优于配置** 这将给出 artifactIds mvn archetype:generate > output.txt 的列表 (1)创建java webapp项目mvn archetype:generate -DgroupId=org.akash.simpleweb -DartifactId=simple-webapp -...