【发布时间】:2021-10-28 14:05:26
【问题描述】:
如何将Maven Deploy Plugin 部署的快照的时间戳获取到 Nexus?
例如,我部署了一个版本为 1.2.3-SNAPSHOT 的工件,它使用时间戳进行部署(我假设 Nexus 创建了这个时间戳,或者至少是它的最后一个“内部版本号”部分 -23)20210829.151247-23(格式YYYYMMDD.HHMMSS-NNN)。我可以通过以下方式获取该时间戳:
- 一些 Maven 命令?
- 一些 Nexus REST API?
- 其他“程序化”方式?
到目前为止,我发现只有一个烦人的 :) 解决方法 - “就在之后”我将工件部署到 Nexus(因为“就在之后”,“很有可能”没有其他人参与其中“短时间”用他/她的快照替换了我部署的快照),我使用属性 outputAbsoluteArtifactFilename=true 运行 Maven 依赖插件的目标 dependency:copy 以从 Nexus 下载“当前最新的”快照,因此“很可能”是我部署的快照, 文件名中带有时间戳。该变通解决方案的“烦人”部分是我必须下载工件(可能超过 100 MB)才能找出时间戳。是否只有一些“peek”Maven 命令/选项来获取此时间戳无需下载任何文件?
【问题讨论】:
-
为什么需要使用 maven-dependency-plugin:copy ?
-
@khmarbaise 我不需要“专门”使用“maven-dependency-plugin:copy”我将其描述为“丑陋”:) 找出时间戳的方法。
-
我在问你所描述的整个事情的原因是什么?
-
@khmarbaise 我需要片刻之后——例如在部署该工件 5 分钟后——下载我之前部署的特定快照——所以我不想“意外”下载其他快照同时可以“替换”我的神器(例如由其他人)。
-
我唯一能想到的就是使用github.com/khmarbaise/deployment-recorder-extension。并在可以找到确切值的位置提取您需要的行....
标签: maven timestamp nexus snapshot