繁体   English   中英

Maven部署事务边界

[英]Maven deploy transaction boundaries

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

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

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

我知道没有这方面的RFC。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM