Maven部署事务边界

时间:2017-05-17 07:44:24

标签: maven maven-metadata

revenry manager如何知道maven何时开始部署并完成部署?例如,当执行mvn deploy命令时,maven会上传大量文件。现在,如果maven完成上传所有文件,服务器应该如何知道?

我认为包级别的maven-metadata.xml文件是最后一个正在更新的文件,但实现并非总是如此。例如,javadocs在更新到包级别maven-medata.xml后得到更新

maven应该更新存储库的顺序是否有任何规范?

1 个答案:

答案 0 :(得分:0)

我没有注意到这一点。

我非常熟悉Maven及其元数据。我现在不是特别谈论任何存储库管理器。我只是对它的逻辑进行逆向工程(主要是猜测,但也是我如何实现它;顺便说一下,我正在自己实现一个存储库管理器)。我想邀请Nexus,Artifactory和Archiva的开发者分享他们对这类功能的想法,观点,经验,当然他们希望分享。

基本上,存储库管理器可能(或可能)可能做的是:

  • 当正在部署工件(及其所有附带文件)时,相应的格式或(布局提供者 - Maven,Nuget,NPM)将触发工件的基本路径的新事务+版本(org/foo/bar/1.0)具有不活动的宽限期
  • 当工件的文件部署在该版本的基本路径下时,该事务将会打开
  • "交易"将在以下情况下自动关闭:
    • 在给定的等待期内路径下没有任何活动
    • 或者上传/更新可识别的最后一个文件(在Maven的情况下,通常这是maven-metadata.xml

@ user93796:我看到你最近问了很多关于Maven和Maven元数据的问题。如果您想对该主题进行更详细的聊天,请随时通过电子邮件(my SO username @ gmail.com)与我联系。 :)