etiqueta de repositorio en distributionManagement vs repositories?

88

Veo la repositoryetiqueta debajo del elemento principal, es decir, distributionManagementy repositories. Cual es la diferencia ?

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

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

Mi repositoryelemento de comprensión bajo distributionManagementelemento especifica dónde desplegará los artefactos en el momento del despliegue. Solo aparecerá en la imagen mientras, por mvn deployejemplo, el tiempo de implementación, no durante el mvn installtiempo de construcción. ¿Derecho?

repositoryelemento debajo del elemento repositorios especifica desde dónde se deben recoger las dependencias. Entrará en la imagen solo mientras mvn installno durante mvn deploy. ¿Derecho?

emilly
fuente

Respuestas:

81

¡Lo tienes exactamente correcto!

De la referencia de POM :

Donde, como el repositorieselemento especifica en el POM la ubicación y la manera en que Maven puede descargar artefactos remotos para que los use el proyecto actual, distributionManagementespecifica dónde (y cómo) este proyecto llegará a un repositorio remoto cuando se implemente. Los elementos del repositorio se utilizarán para la distribución de instantáneas si el snapshotRepository no está definido.

  • Los repositorios declarados bajo el distributionManagementelemento se utilizarán para la implementación, es decir, durante la ejecución mvn deploy.
  • El repositorieselemento se utilizará para descargar dependencias del proyecto. El comando no es necesariamente mvn installcualquier comando que requiera que Maven recupere artefactos de un repositorio.
Atún
fuente