问题
最近发现在使用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`创建Maven项目 `mvn archetype:create`创建Maven项目 `mvn package`生成target目录,编译、测试代码,生成测试报告,生成jar/war文件 `mvn jetty:run`运行项目于Jetty上 `mvn compile`编译 ...
通过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 -...
在使用maven命令创建maven项目时候执行到Generating Project in Batch mode 卡住,是因为要下载archetype-catalog.xml(4M)文件,可以单独下载后使用-DarchetypeCatalog=local引用本地下载的文件,需要将archetype-...
使用 `mvn archetype:create` 创建项目,通过 `-DgroupId` 和 `-DartifactId` 参数指定项目的基本信息。例如,创建一个名为 "my-app" 的项目,可以输入: ``` mvn archetype:create -DgroupId=...
1. 快速启动:Archetype可以为新项目提供一个基本的框架,无需从零开始创建目录和文件。 2. 规范化:不同类型的项目有不同的结构需求,Archetype确保项目遵循最佳实践和行业标准。 3. 自定义:开发者可以创建自己的...
catalog\2.4 下面 创建maven项目例子: mvn archetype:generate -DgroupId=org.dyb -DartifactId=mvndemo -DarchetypeArtifactId=maven- archetype-quickstart -DinteractiveMode=false -X -DarchetypeCatalog=local
3. 反向生成 Maven 项目的骨架:`mvn archetype:generate` 编译和测试 4. 编译源代码:`mvn compile` 5. 编译测试代码:`mvn test-compile` 6. 运行测试:`mvn test` 打包和部署 7. 产生 site:`mvn site` 8. ...
使用 `mvn archetype:create` 命令可以创建一个新的 Maven 项目。例如: ``` mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app ``` 这会根据指定的 `groupId` 和 `artifactId` 创建一个...
之前上传过该资源,看下载人挺多,更新一线最新版本...在使用mvn archetype:generate命令时,加上-DarchetypeCatalog=local,以替换网络上的catalog.xml。 参考链接:http://www.cnblogs.com/gmq-sh/p/4742698.html
- `mvn archetype:create`:使用Maven的原型插件创建新项目。 - `-DgroupId=packageName`:设置项目的组ID,通常对应于包名结构。 - `-DartifactId=projectName`:设置项目的构件ID,即项目名称。 ##### 2. 创建Web...
git clone https://github.com/SkeletonEye/spigot-archetype.git .mvn install完成一次之后,您可以使用以下命令生成一个新项目: mvn archetype:generate -DarchetypeArtifactId=spigot-archetype -...
mvn install单独jar到仓库使用方法举例
创建一个工程后,在工程中使用mvn archetype:create-from-project,maven会将当前工程作为一个骨架工程,在target/generated-sources/archetype 生成相应的骨架目录,前往生成的archetype目录,执行mvn isntall ...
三、使用Archetype创建新项目 1. **配置Archetype信息** 在新项目的`pom.xml`中添加Archetype的相关配置,指定groupId、artifactId和version,这些信息对应于你之前创建的Archetype的坐标。 2. **执行生成命令** ...