2011-11-07 13 views
16

Mam trudny czas, aby zobaczyć "las przez drzewa" na niektórych koncepcjach Mavena tutaj. Rozumiem, że Maven jest wstępnie skonfigurowany z mnóstwem tak zwanych "Fazy cyklu budowy" "rozpoczynających się od validate i test, a kończących na deploy.Maven: Związek między fazą cyklu życia a celem

Przyjeżdżam do Maven z Ant, gdzie organizowałeś ważne etapy budowy w cele (które mogą zależeć od innych celów w sposób liniowy), a następnie rozkładasz cele do zadań proceduralnych. Wydaje się, że Maven obsługuje to, ale w postaci goli.

Moje pytanie (ponieważ jestem przyzwyczajony do myślenia w kategoriach celów i zadań) jest następujące: w jaki sposób te fazy cyklu życia (package, verify itd.) Odnoszą się do celów? Czy trzeba skonfigurować, które cele mają być uruchamiane w jakiej fazie, czy też jest to robione przez Mavena w jakiś sposób?

Albo, czy cele są ustalone z jaką fazą one należą?

Po prostu nie widzę, jak ktoś zamawia cele, aby stworzyć niestandardową kompilację, która działa dla nich lub ich organizacji.

Z góry dziękujemy za jasność!

+0

See [moja odpowiedź] (http://stackoverflow.com/a/30953905/1744774) do _Maven: Cykl życia a faza vs. plugin vs. bramka_, o co chodzi z nazwanymi jednostkami. –

Odpowiedz

11

Wiele wtyczek Maven wiąże konkretny cel (mojo) z określoną fazą cyklu życia.

E.g. poszukaj documentation of maven-jar-plugin:jar goal. Jest napisane:

Powiąże domyślnie fazę cyklu życia: pakiet.

Sam cykl życia określa, jakie narzędzia należy uruchomić dla każdej fazy. W przypadku domyślnych typów opakowań narzędzia te są wstępnie zdefiniowane przez Maven i wyjaśnione tutaj ->http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Built-in_Lifecycle_Bindings.

Ale ten przykład pokazuje, jak utworzyć całkowicie niestandardowe powiązanie cyklu życia ->http://www.sonatype.com/people/2009/08/create-a-customized-build-process-in-maven/. Jak widać, możesz powiązać dowolną kombinację celów wtyczki z określoną fazą cyklu życia.

Wreszcie, możesz ręcznie dodać wtyczkę poprzez element build/plugins swojego pliku pom. Jeśli to zrobisz, wtyczki w określonych fazach będą wykonywane w kolejności FIFO.

Ponadto może pomóc wyświetlić Effective POM z tymi wszystkimi domyślnymi wartościami. Wiele IDE oferta ta opcja dla projektów Maven, ale można również zobaczyć skuteczną pom z wiersza poleceń:

mvn help:effective-pom 
+0

dziękuję bardzo za odpowiedź i pomocne linki! – IAmYourFaja

Powiązane problemy