Nexus 存储库中 Jar 版本的简要说明

Posted

技术标签:

【中文标题】Nexus 存储库中 Jar 版本的简要说明【英文标题】:Brief description for Jar version in Nexus repository 【发布时间】:2014-02-05 19:19:15 【问题描述】:

我们有一个本地 Nexus 存储库,用于存储我们开发的库和组件。我正在寻找一种方法来简要记录每个版本中的更改,以便访问存储库的任何人都可以轻松看到它们。

原因:有时候一个jar会被更新,不是因为代码变了,而是因为它需要引用一个已有依赖的新版本。这可能会破坏其他应用程序,所以我希望有一些像这样的列表:

SomeLibrary-1.0.0.jar ... SomeLibrary-1.0.7.jar SomeLibrary-1.0.8.jar - 现在使用 OtherLibrary-2.3.1,之前版本的 SomeLibrary 使用的是 OtherLibrary-1.9.11

当我将部署部署到 Nexus 时,有什么方法可以将部署描述添加到 jar 文件中?

【问题讨论】:

【参考方案1】:

为什么不使用BuildHelper 插件向模块添加额外的文件?

更新

Nexus 专业版支持与每个工件关联的editing and viewing metadata。以下支持问题描述了如何将这些数据推送到 Nexus:

How to add additional metadata to an artifact stored in Nexus

【讨论】:

您能否解释一下向模块添加附加文件将如何帮助我将模块的特定版本的简要描述放入 Nexus 存储库? 标记意味着你可以例如有一个发行说明文件,其中包含这些注释,并作为另一个文件部署到存储库中。构建助手插件可以通过附加目标为您做到这一点...... @ManfredMoser:啊,有趣的想法。是否可以即时生成文件?理想情况下,我会做类似mvn deploy SomeLibrary -DversionDescription='this version makes use of the new version of OtherLibrary' 的事情,$versionDescription 的值会在这个附件中。另外,你知道 Nexus 是否能够显示这个吗? @FrustratedWithFormsDesigner 我已经更新了我的答案。如果您使用自定义元数据文件,您可以通过 UI 编辑元数据,但我不知道自动生成此文件的方法。 您可以使用 Maven 资源插件来过滤元数据文件并根据需要在命令行上即时提供属性。

以上是关于Nexus 存储库中 Jar 版本的简要说明的主要内容,如果未能解决你的问题,请参考以下文章

如何使用没有pom文件或settings.xml文件的maven直接将jar文件上传到nexus存储库?

多模块本地 jar 依赖项 - Jenkins Pipeline

处理本地存储库中旧快照的最佳方法?

如何备份 nexus 存储库管理器

如何在maven存储库中找到正确的JAR版本

从 nexus 获取最新的构建工件