1

存储库管理器如何知道 maven 何时开始部署并完成部署?例如,当执行 mvn deploy 命令时,maven 会上传一堆文件。现在服务器应该如何知道 maven 何时完成上传所有文件?

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

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

4

1 回答 1

0

我知道没有针对此的 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如果您想就该主题进行更详细的聊天,请随时通过电子邮件 ( ) 与我联系。:)

于 2017-06-01T00:38:35.067 回答