Po prostu uczę się maven i ostatnio potrzebowaliśmy więcej i więcej. Chciałbym poznać różnicę między
mvn clean install
mvn release
mvn deploy
Podaj jak najwięcej opisów.
Odpowiedzi:
Te clean
, install
i deploy
fazy są ważne Fazy cyklu życia i wywoływanie ich wyzwoli wszystkie etapy poprzedzające je, a cele związane z tymi fazami.
mvn clean install
To polecenie wywołuje clean
fazę, a następnie install
fazę sekwencyjnie:
clean
: usuwa pliki wygenerowane podczas kompilacji w katalogu projektu ( target
domyślnie)install
: instaluje pakiet w lokalnym repozytorium, do użytku lokalnie jako zależność w innych projektach .mvn deploy
To polecenie wywołuje deploy
fazę:
deploy
: kopiuje ostateczny pakiet do zdalnego repozytorium w celu udostępnienia innym programistom i projektom .wydanie mvn
To nie jest ważna faza ani cel, więc to nic nie da. Ale jeśli odnosi się do wtyczki Maven Release, która służy do automatyzacji zarządzania wydaniami. Wydanie projektu odbywa się w dwóch etapach: prepare
i perform
. Jak udokumentowano:
Przygotowanie wydania przechodzi przez następujące fazy wydania:
- Sprawdź, czy w źródłach nie ma niezatwierdzonych zmian
- Sprawdź, czy nie ma żadnych zależności SNAPSHOT
- Zmień wersję w POM z x-SNAPSHOT na nową wersję (zostaniesz zapytany o wersje do użycia)
- Przekształć informacje SCM w POM, aby uwzględnić ostateczne miejsce docelowe tagu
- Przeprowadź testy projektu względem zmodyfikowanych POM, aby upewnić się, że wszystko jest w porządku
- Zatwierdź zmodyfikowane POM
- Oznacz kod w SCM nazwą wersji (pojawi się monit)
- Podbij wersję w POM do nowej wartości y-SNAPSHOT (te wartości będą również monitowane)
- Zatwierdź zmodyfikowane POM
I wtedy:
Wykonanie wydania uruchamia następujące fazy wydania:
- Do kasy z adresu URL SCM z opcjonalnym tagiem
- Uruchom wstępnie zdefiniowane cele Maven, aby zwolnić projekt (domyślnie wdrażaj w witrynie)
mvn install
umieści twój spakowany projekt maven w lokalnym repozytorium, dla aplikacji lokalnej używającej twojego projektu jako zależności.mvn release
po prostu umieści twój obecny kod w tagu na twoim SCM, zmieni twoją wersję w twoich projektach.mvn deploy
umieści Twój spakowany projekt maven w zdalnym repozytorium w celu udostępnienia go innym programistom.Zasoby :