tag repozytorium w trakcie dystrybucji Zarządzanie a repozytoria?

88

Widzę repositorytag pod elementem nadrzędnym ie distributionManagementi repositories. Co za różnica ?

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

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

Mój repositoryelement zrozumienia w distributionManagementelemencie określa, gdzie będzie wdrażać artefakty w czasie wdrażania. Pojawi się to tylko wtedy, gdy mvn deploynp. W czasie wdrażania, a nie w czasie mvn installbudowania. Dobrze?

repositoryelement w repozytoriach element określa, skąd zależności mają zostać pobrane. Pojawi się tylko wtedy, gdy mvn installnie jest w trakcie mvn deploy. Dobrze?

emilly
źródło

Odpowiedzi:

81

Masz to dokładnie tak!

Z referencji POM :

Gdzie repositorieselement określa w POM lokalizację i sposób, w jaki Maven może pobierać zdalne artefakty do użytku w bieżącym projekcie, distributionManagementokreśla, gdzie (i jak) projekt ten trafi do zdalnego repozytorium po wdrożeniu. Elementy repozytorium będą używane do dystrybucji migawek, jeśli nie zdefiniowano snapshotRepository.

  • Repozytoria zadeklarowane pod distributionManagementelementem zostaną wykorzystane do wdrożenia, czyli podczas uruchamiania mvn deploy.
  • repositoriesElementem będzie używany do pobierania zależności projektu. Polecenie to niekoniecznie, mvn installale dowolne polecenie, które wymaga od Mavena pobrania artefaktów z repozytorium.
Tunaki
źródło