为我们的团队生成应用程序模板而开发的自定义 Maven 原型未被 Nexus 1.9.2 识别为有效原型。
运行命令mvn clean deploy
会在本地正确安装原型(即更新本地 ~/.m2/archetype-catalog.xml),将其上传到指定的 Nexus 存储库,但不会更新相应的 Nexus archetype-catalog.xml。
已开发原型的 groupId 是fielden
. 运行mvn archetype:generate -Dfilter=fielden:
仅显示本地部署的工件。
由于原型的 SNAPHOT 版本,它被部署到distributionManagement
POM 设置中指定的 Snapshot Nexus 存储库(可以通过 Nexus Web 界面和手动检查服务器上的文件来观察部署到 Nexus 的适当工件)。然而,跑步mvn archetype:generate -Dfilter=fielden: -DarchetypeCatalog=Snapshots
显示没有可供选择的人工制品。
一些附加信息:
- 客户端和服务器上的 Maven 版本都是 2.2.1。
- 原型项目的 POM 包含有效的打包值:
<packaging>maven-archetype</packaging>
. - 生成的 jar 预期用于 Maven Archetype 结构(即目录
archetype-resources
和META-INF
)。 - Nexus : 核心插件 : Maven Archetype 目录存在于插件控制台中,状态为已激活。
这是
mvn clean deploy
命令输出的尾部,可能是相关的:[信息] [安装:安装{执行:默认安装}]
[信息] 安装 /home/oles/workspace-template/tg-app-archetype/target/tg-application-archetype-1.0-SNAPSHOT.jar 到 /home/oles/.m2/repository/fielden/tg-application-archetype /1.0-SNAPSHOT/tg-application-archetype-1.0-SNAPSHOT.jar
[信息] [原型:更新本地目录 {执行:默认更新本地目录}]
[信息] [部署:部署{执行:默认部署}]
[信息] 从快照上传中检索以前的内部版本号:http://server-name/nexus/content/repositories/snapshots/fielden/tg-application-archetype/1.0-SNAPSHOT/tg-application-archetype-1.0-20120117.140536-2 .jar 1358K 上传 (tg-application-archetype-1.0-20120117.140536-2.jar)
[INFO] 从快照中检索以前的元数据
[INFO] 上传存储库元数据:'artifact fielden:tg-application-archetype'
[INFO] 上传 tg-application-archetype 1.0-20120117.140536-2 的项目信息
[INFO] 从快照中检索以前的元数据
[INFO] 上传存储库元数据:'snapshot fielden:tg-application-archetype:1.0-SNAPSHOT'
[信息] --------------------------------------------- -------------------------
[信息] 构建成功
[信息] --------------------------------------------- -------------------------
[INFO] 总时间:11 秒
[INFO] 完成时间:2012 年 1 月 17 日星期二 16:05:39 EET
[INFO] 最终内存:32M/294M
[信息] --------------------------------------------- -------------------------
我已经审查了类似的问题,并无济于事地寻找可行的解决方案。非常感谢任何可能有助于解决上述原型部署问题的帮助。