当前位置: 首页 > 知识库问答 >
问题:

通过Maven部署插件到Nexus获取部署快照的时间戳

左丘善
2023-03-14

如何通过Maven部署插件获得部署快照的时间戳到Nexus?

例如,我使用1.2.3-snapshot版本部署了一个工件,该工件使用时间戳(我假设Nexus创建了这个时间戳,或者至少是它的最后一个“内部版本号”部分-23)20210829.151247-23(格式yyyymdd.hhmmss-nnn)部署。我可以通过以下方式获得时间戳吗:

  • 某个Maven命令/s?
  • 某些Nexus REST API?
  • 其他“纲领性”方式?

到目前为止,我只发现了一个烦人的解决方法--“在”我将工件部署到Nexus之后“立即”(因为“在”立即“之后,”很有可能“没有其他人在”短时间内“用他/她的快照替换我部署的快照),我运行了带有属性outputAbsoluteArtifactFileName=true的goal Dependency:Maven Dependency插件副本,从Nexus下载”当前最新“快照,因此”很有可能“是我部署的快照,文件名中有时间戳。该解决方案的“烦人”部分是,我必须下载工件(可能超过100 MB)才能找到时间戳。不是只有一些“peek”Maven命令/选项可以在不下载任何文件的情况下获得这个时间戳吗?

共有1个答案

袁旻
2023-03-14

按照khmarbaise的建议,我使用了https://github.com/khmarbaise/deployment-recorder-extension/。

 类似资料:
  • 我刚刚在我的Windows Tomcat上安装了Nexus2.7.1,并启动运行。我试图使用“maven deploy”命令将一个快照jar部署到Nexus快照repo中,但收到以下错误。使用Maven 3.0.5版。请引导。

  • 我试图将工件部署到nexus。当我尝试使用本地机器时,它工作正常。但是当我尝试在另一台机器中使用nexus时,它会抛出错误。 我已经配置了

  • 主要内容:使用 Maven 部署构件到 Nexus ,手动上传构件如果仅仅是为了代理远程的公共仓库,那么 Nexus 的代理仓库就完全能够满足需要,但是我们知道,Nexus 除了代理仓库外,还有另一种仓库:宿主仓库。 宿主仓库的主要作用是存储公司或组织内部的构件,以及一些无法从公共仓库获取的第三方构件(JDBC 驱动),供用户下载使用。用户可以通过配置 Maven 将构件自动部署到 Nexus 宿主仓库,也可以在 Nexus 界面手动上传构件。 使用 Maven

  • 我试图使用maven shade插件构建uber jar(构建docker映像),并将项目jar部署到maven存储库。我不想将uber jar部署到maven Repo。因此,要么我需要能够从maven deploy插件中排除特定文件,要么让maven shade插件将uber jar放在不同的位置,这样deploy插件就不会接收到它。 这两件事都有可能吗?

  • 我配置了一个简单的maven freestyle项目。我能够成功构建该项目,但无法部署到Nexus。我得到这个错误: [错误]无法执行目标org.apache.maven.plugins:maven部署插件:2.8.1:部署(默认部署)项目eqs_utility:部署工件失败:找不到工件com.companyName.eqs:eqs_utility:jar:1.0.1-20190529.19124

  • 我有一个简单的POM(见下文)。当我执行mvn部署时,我得到这个错误: [错误]无法执行目标组织。阿帕奇。专家plugins:maven deploy plugin:2.7:project piccolotest上的部署(默认部署):部署失败:未在POM inside distributionManagement元素或-DaltDeploymentRepository=id::layout::ur