部署原型工件时,Nexus Maven 原型存储库未更新
Posted
技术标签:
【中文标题】部署原型工件时,Nexus Maven 原型存储库未更新【英文标题】:Nexus Maven Archetype repository is not updated when deploying an archetype artefact 【发布时间】: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+ 和新版本的部署插件。 【参考方案1】:是的,这有点旧,但可能与a problem of mine有关:
希望对您有所帮助。
【讨论】:
以上是关于部署原型工件时,Nexus Maven 原型存储库未更新的主要内容,如果未能解决你的问题,请参考以下文章