分发管理vs存储库下的存储库标记?

时间:2016-02-10 13:54:33

标签: maven

我看到父元素下的repository标记,即distributionManagementrepositories。有什么区别?

<distributionManagement>
    <repository>
        <id>...</id>
        <name>...</name>
        <url>...</url>
    </repository>
</distributionManagement> 

<repositories>
    <repository>
        <id>...</id>
        <name>...</name>
        <layout>default</layout>
        <url>...</url>
    </repository>
</repositories>

我在repository元素下的理解distributionManagement元素指定在部署时它将部署工件的位置。它只会在mvn deploy时出现,即部署时间不在mvn install期间,即构建时间。正确?

存储库元素下的

repository元素指定需要从哪里获取依赖关系。只有在mvn install mvn deploy期间才会显示图片。正确?

1 个答案:

答案 0 :(得分:50)

你完全正确!

来自POM reference

  

repositories元素在POM中指定Maven可以下载远程工件以供当前项目使用的位置和方式,distributionManagement指定此项目将在何处(以及如何)到达部署时的远程存储库。如果未定义snapshotRepository,则存储库元素将用于快照分发。

  • distributionManagement元素下声明的存储库将用于部署,即在运行mvn deploy时。
  • repositories元素将用于下载项目的依赖项。该命令不一定是mvn install,而是任何要求Maven从存储库获取工件的命令。