Po prostu uczę się Mavena, więc może to być oczywiste, ale nie mogę znaleźć łatwego sposobu na wyliczenie celów związanych z każdą fazą cyklu życia mavena dla danego projektu.
Widziałem, że domyślne fazy cyklu życia Mavena i odpowiadające im domyślne cele są tutaj udokumentowane . Jak dotąd rozumiem, że każdy pom.xml może wiązać dodatkowe cele z każdą fazą cyklu życia.
Czy więc istnieje polecenie mvn, aby określić cele, które będą realizowane dla każdej fazy cyklu życia dla danego projektu? Jeśli nie, to chyba po prostu muszę przejrzeć plik pom.xml dla każdego nowego projektu maven, aby to zrozumieć?
buildplan-maven-plugin
Jest doskonałym narzędziem do pokazania w jaki sposób cele są związane z fazami.Poniżej znajdują się przykłady poleceń, które możesz uruchomić. Polecenia automatycznie pobiorą i zainstalują wtyczkę, jeśli nie została jeszcze zainstalowana.
Wypisz cele według kolejności, w jakiej będą wykonywane
Grupuj cele według fazy
Grupuj cele według wtyczki
Uwagi
Domyślnie cele wyszukują zadania, które zostałyby uruchomione, gdyby został wywołany przez użytkownika
mvn deploy
. Fazy takie jakclean
nie zostaną uwzględnione. Aby uwzględnić wiele faz w wyszukiwaniu, użyjbuildplan.tasks
właściwości:źródło
mvn fr.jcgay.maven.plugins:buildplan-maven-plugin:list -Dbuildplan.tasks=clean,install,deploy
Jedynym pomocnym narzędziem jest
mvn help:effective-pom
wydrukowanie POM ze wszystkimi zmiennymi i rozwiniętymi wszystkimi nadrzędnymi POM. Pomaga to zrozumieć, co widzi Maven. Na tej podstawie łatwo jest znaleźć wszystkie dodatkowe cele (których zwykle nie jest wiele).Większym problemem są niejawne cele (tj. Gdy wtyczka automatycznie podpina się do niektórych faz cyklu życia). Nie ma łatwego sposobu, aby je zobaczyć bez faktycznego uruchomienia Mavena. Powinno to stać się lepsze w Maven 3. Do tego czasu uruchom Mavena,
-X
który wypisze całą masę danych debugowania plus bieżącą fazę i które wtyczki są wykonywane.źródło
Jeśli nie z Mavenem, ale używając m2e, możesz to zrobić za pomocą bloku kodu, którego możesz użyć we wtyczce Eclipse:
Spójrz na pełne źródło .
Już zaimplementowano w:
http://marketplace.eclipse.org/content/phases-and-goals
Wykorzystuje zdolność m2e do obliczania powiązania celów z fazami. Próbuję też rozwiązać to na poziomie maven.
źródło
Umieściłem odpowiedź Chada w skrypcie (więc nie muszę pamiętać nazwy wtyczki, która jest naprawdę długa). Umieść go w swoim ~ / bin / folderze, abyś mógł go używać w dowolnym miejscu.
źródło