Cel wskazany w linii poleceń jest powiązany z cyklem życia Mavena. Na przykład buildcykl życia (masz również różne cykle cleani site) składa się z następujących faz:
validate: sprawdź, czy projekt jest poprawny i czy wszystkie niezbędne informacje są dostępne.
compile: skompiluj kod źródłowy projektu.
test: przetestuj skompilowany kod źródłowy przy użyciu odpowiedniego środowiska do testów jednostkowych. Testy te nie powinny wymagać pakowania ani wdrażania kodu.
package: weź skompilowany kod i spakuj go w formacie przeznaczonym do dystrybucji, takim jak JAR.
integration-test: Przetwórz i wdróż pakiet, jeśli to konieczne, w środowisku, w którym można uruchomić testy integracji.
verify: uruchom wszelkie kontrole, aby upewnić się, że pakiet jest ważny i spełnia kryteria jakości
install: zainstaluj pakiet w lokalnym repozytorium, aby użyć go jako zależności w innych projektach lokalnie.
deploy: wykonane w środowisku integracji lub wydania, kopiuje ostateczny pakiet do zdalnego repozytorium w celu udostępnienia innym programistom i projektom.
Listę "podstawowych" wtyczek można znaleźć tutaj , ale jest też wiele innych wtyczek, takich jak te z kodem, tutaj .
Aby wszystko działało, najpierw postępuj zgodnie z tym przewodnikiem, aby skonfigurować zakończenie bash na komputerze. Następnie pora zdobyć skrypt dla Maven2 i:
Każdy z tych cykli życia kompilacji jest definiowany przez inną listę faz kompilacji, przy czym faza kompilacji reprezentuje etap w cyklu życia.
Na przykład domyślny cykl życia składa się z następujących faz (pełną listę faz cyklu życia można znaleźć w Odniesieniu do cyklu życia):
waliduj - sprawdź, czy projekt jest poprawny i czy wszystkie niezbędne informacje są dostępne
kompiluj - skompiluj kod źródłowy projektu
test - przetestuj skompilowany kod źródłowy przy użyciu odpowiedniego środowiska do testów jednostkowych. Testy te nie powinny wymagać pakowania ani wdrażania kodu
pakiet - weź skompilowany kod i spakuj go w formacie przeznaczonym do dystrybucji, takim jak JAR. weryfikuj - przeprowadzaj wszelkie sprawdzenia wyników testów integracji, aby upewnić się, że kryteria jakości są spełnione
install - zainstaluj pakiet w lokalnym repozytorium, aby użyć go jako zależności w innych projektach lokalnie
wdrażanie - wykonywane w środowisku kompilacji, kopiuje ostateczny pakiet do zdalnego repozytorium w celu udostępnienia innym programistom i projektom.
Te fazy cyklu życia (plus inne fazy cyklu życia nie pokazane tutaj) są wykonywane sekwencyjnie, aby zakończyć domyślny cykl życia. Biorąc pod uwagę powyższe fazy cyklu życia, oznacza to, że gdy używany jest domyślny cykl życia, Maven najpierw zweryfikuje projekt, a następnie spróbuje skompilować źródła, uruchomić je z testami, spakować pliki binarne (np. Jar), uruchomić testy integracji względem tego pakiet, zweryfikuj testy integracji, zainstaluj zweryfikowany pakiet w lokalnym repozytorium, a następnie wdróż zainstalowany pakiet w zdalnym repozytorium.
Odpowiedzi:
Cel wskazany w linii poleceń jest powiązany z cyklem życia Mavena. Na przykład
build
cykl życia (masz również różne cykleclean
isite
) składa się z następujących faz:validate
: sprawdź, czy projekt jest poprawny i czy wszystkie niezbędne informacje są dostępne.compile
: skompiluj kod źródłowy projektu.test
: przetestuj skompilowany kod źródłowy przy użyciu odpowiedniego środowiska do testów jednostkowych. Testy te nie powinny wymagać pakowania ani wdrażania kodu.package
: weź skompilowany kod i spakuj go w formacie przeznaczonym do dystrybucji, takim jak JAR.integration-test
: Przetwórz i wdróż pakiet, jeśli to konieczne, w środowisku, w którym można uruchomić testy integracji.verify
: uruchom wszelkie kontrole, aby upewnić się, że pakiet jest ważny i spełnia kryteria jakościinstall
: zainstaluj pakiet w lokalnym repozytorium, aby użyć go jako zależności w innych projektach lokalnie.deploy
: wykonane w środowisku integracji lub wydania, kopiuje ostateczny pakiet do zdalnego repozytorium w celu udostępnienia innym programistom i projektom.Listę "podstawowych" wtyczek można znaleźć tutaj , ale jest też wiele innych wtyczek, takich jak te z kodem, tutaj .
źródło
Maven nie ma nic do tego wbudowanego, chociaż lista faz jest skończona (lista celów wtyczek nie jest, ponieważ lista wtyczek nie jest).
Ale możesz ułatwić sobie sprawę i wykorzystać moc uzupełniania bash (używając cygwin, jeśli jesteś w systemie Windows), jak opisano w Przewodniku po automatycznym uzupełnianiu Maven 2.x przy użyciu BASH (ale zanim wybierzesz skrypt z tego przewodnika, przeczytaj dalej ).
Aby wszystko działało, najpierw postępuj zgodnie z tym przewodnikiem, aby skonfigurować zakończenie bash na komputerze. Następnie pora zdobyć skrypt dla Maven2 i:
maven
w Ubuntu), który można pobrać z HEAD. Po prostu najlepszy .Poniżej przedstawiam to, co otrzymuję tylko po to, aby zilustrować wynik:
Oczywiście nigdy nie przeglądam 377 możliwości, używam dokończenia. Ale to daje wyobrażenie o wielkości listy „a” :)
Zasoby
źródło
Maven Shell
narzędzie zapewnia automatyczne uzupełnianie, które może być przydatne w tym miejscu?mvnsh
nie zapewnia uzupełnienia (przynajmniej nie w wersji, którą mam na swoim komputerze). Sprawdziłem przed odpowiedzią :)Jeśli używasz IntelliJ IDEA, możesz przeglądać wszystkie cele / zadania maven (w tym wtyczki) w
Maven Projects
zakładce:źródło
Upraszczajmy to:
Cykle życia Mavena: 1. Wyczyść 2. Domyślnie (kompilacja) 3. Witryna
Fazy Maven domyślnego cyklu życia: 1. Sprawdź poprawność 2. Kompiluj 3. Testuj 4. Pakiet 5. Weryfikuj 6. Zainstaluj 7. Wdróż
Uwaga: nie mieszaj celów mavena z cyklem życia mavena ani nie daj się im mylić.
Zobacz Maven Build Lifecycle Podstawy 1
źródło
Cykl życia kompilacji składa się z faz
Każdy z tych cykli życia kompilacji jest definiowany przez inną listę faz kompilacji, przy czym faza kompilacji reprezentuje etap w cyklu życia.
Na przykład domyślny cykl życia składa się z następujących faz (pełną listę faz cyklu życia można znaleźć w Odniesieniu do cyklu życia):
Te fazy cyklu życia (plus inne fazy cyklu życia nie pokazane tutaj) są wykonywane sekwencyjnie, aby zakończyć domyślny cykl życia. Biorąc pod uwagę powyższe fazy cyklu życia, oznacza to, że gdy używany jest domyślny cykl życia, Maven najpierw zweryfikuje projekt, a następnie spróbuje skompilować źródła, uruchomić je z testami, spakować pliki binarne (np. Jar), uruchomić testy integracji względem tego pakiet, zweryfikuj testy integracji, zainstaluj zweryfikowany pakiet w lokalnym repozytorium, a następnie wdróż zainstalowany pakiet w zdalnym repozytorium.
Źródło: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
źródło