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

emi*_*lly 69 maven

我看到repository父元素下的标签即distributionManagement和repositories.有什么不同 ?

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

<repositories>
    <repository>
        <id>...</id>
        <name>...</name>
        <layout>default</layout>
        <url>...</url>
    </repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)

我在repository元素下的理解 元素distributionManagement指定在部署时它将部署工件的位置.它只会在mvn deploy部署时间而不是在mvn install构建时间期间进入画面.对?

repositoryrepositories元素下的元素指定需要从哪里获取依赖项.只有在mvn install没有的时候它才会出现mvn deploy.对?

Tun*_*aki 63

你完全正确!

从POM参考:

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

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