【发布时间】:2012-02-12 08:44:32
【问题描述】:
为我们的团队生成应用程序模板而开发的自定义 Maven 原型未被 Nexus 1.9.2 识别为有效原型。
运行命令mvn clean deploy在本地正确安装archetype(即更新本地~/.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命令输出的尾部,可能是相关的:[INFO] [安装:安装{执行:默认安装}]
[INFO] 安装 /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
[INFO] [archetype:update-local-catalog {execution: default-update-local-catalog}]
[INFO] [deploy:deploy {execution: default-deploy}]
[INFO] 从快照中检索以前的内部版本号 上传: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] 构建成功
[信息] --------------------------------------------- ----------------------------------------
[INFO] 总时间:11 秒
[INFO] 完成时间:2012 年 1 月 17 日星期二 16:05:39 EET
[INFO] 最终内存:32M/294M
[信息] --------------------------------------------- ----------------------------------------
我已经查看了类似的问题,并无济于事地寻找可行的解决方案。非常感谢任何可能有助于解决上述原型部署问题的帮助。
【问题讨论】:
-
如果您在没有过滤器的情况下运行 mvn generate:archetype,您的原型是否会出现在长列表中?
-
是的——显示为本地。
-
这里有同样的问题,但还没有解决方案……你找到什么了吗?
-
@Séb 不幸的是,没有——尝试了许多不同的方法(除了重新安装 Nexus)都无济于事。计划迁移到新服务器并希望那里能正常工作(:
-
你能用最新的 Nexus 版本试试这个,如果它仍然不能工作,请告诉我。据我所知,Maven 版本也存在一些问题。确保使用 3.0.4+ 和新版本的部署插件。
标签: maven-2 nexus archetypes