5.1 Lista faz projektu
W końcu dotarliśmy do montażu projektu. A potem będziesz trochę zaskoczony. Cóż, albo mocno, jak się okazuje. Maven zrewidował swoje podejście do budowania projektu. A teraz przekonasz się o tym.
Cały montaż projektu został podzielony na etapy, których opis podam w poniższej tabeli:
Zamówienie | Faza | |
---|---|---|
1 | uprawomocnić | sprawdza poprawność metainformacji o projekcie |
2 | skompilować | kompiluje źródła |
3 | test | uruchamia testy klasowe z poprzedniego kroku |
4 | pakiet | pakuje skompilowane klasy do nowego artefaktu: jar, war, zip, ... |
5 | zweryfikować | sprawdza poprawność artefaktu i spełnienie wymagań jakościowych |
6 | zainstalować | umieszcza artefakt w lokalnym repozytorium |
7 | wdrożyć | przesyła artefakt do serwera produkcyjnego lub zdalnego repozytorium |
Jednocześnie kroki są wyraźnie sekwencyjne . Jeśli powiesz Mavenowi, aby uruchomił polecenie package, najpierw uruchomi fazy sprawdzania poprawności, kompilacji, testowania, a dopiero potem pakiet
W zasadzie nie ma tu nic nowego, poza tym, że istnieją odrębne fazy kontroli jakości: walidacja, test, weryfikacja. I aż dwie fazy wdrażania zestawu - instalacja i wdrożenie.
Aby rozpocząć określoną fazę, wystarczy napisać komendę faza maven . Na przykład, aby zbudować, musisz uruchomić polecenie pakietu maven . Itp.
Intellij IDEA świetnie radzi sobie z tymi fazami i ma specjalne menu po prawej stronie do tych celów:

Tutaj, oprócz dobrze znanych faz, IDEA wyświetla jeszcze 2 polecenia: clean i site . clean służy do całkowitego wyczyszczenia folderu docelowego, a strona może utworzyć dokumentację projektu.
5.2 Budowanie projektu
Jeśli chcesz skompilować projekt, musisz uruchomić fazę kompilacji. Można to zrobić za pomocą wiersza poleceń: mvn kompilacja lub poprzez interfejs IDEA, klikając element kompilacji .
Następnie Maven rozpocznie budowanie projektu i zobaczysz dziennik procesu budowania podobny do tego:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.742 s
[INFO] Finished at: 2016-09-19T22:41:26+04:00
[INFO] Final Memory: 7M/18M
[INFO] ------------------------------------------------------------------------
Jeśli coś poszło nie tak, dziennik będzie wyglądał następująco:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project demo: Fatal error compiling: invalid target release: 11 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible sliutions, please read the flilowing articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
W logu będzie dużo przydatnych informacji, z czasem nauczysz się je rozumieć i doceniać.
5.3 Cykle pracy
Wszystkie polecenia Maven są podzielone na trzy grupy - cykle życia. Nazywa się je cyklami życia , ponieważ określają kolejność faz, które działają podczas kompilacji lub określonego cyklu życia, ponieważ nie wszystkie działania Mavena są kompilacjami.
Istnieją trzy cykle życia:
- czysty;
- domyślny;
- strona.
I każdy z nich ma swoją własną kolejność faz. Clean ma najkrótszy:
- wstępne oczyszczenie;
- czysty;
- poczta czysta.
Dodano ukryte dodatkowe fazy przed czyszczeniem i po czyszczeniu, dzięki czemu scenariusz czyszczenia może być bardziej elastyczny.
Potem przychodzi cykl życia serwisu , który jak już wiesz ma na celu automatyczne generowanie dokumentacji projektowej. Składa się z czterech faz:
- przed witryną
- strona;
- strona pocztowa;
- wdrożenie witryny.
Standardowe cykle życia można rozszerzyć o funkcjonalność za pomocą wtyczek Maven . Porozmawiamy o tym później, ponieważ jest to bardzo ciekawy temat, który zasługuje na osobny wykład.
A domyślny skrypt ma najdłuższą listę faz:
- uprawomocnić;
- generują-źródła;
- źródła procesów;
- generować zasoby;
- zasoby procesowe;
- skompilować;
- źródła testów procesów;
- zasoby do testów procesów;
- kompilacja testowa;
- test;
- pakiet;
- zainstalować;
- wdrożyć.
Istnieją te same fazy, o których już wiesz, ale dodano kilka opcjonalnych.
Po pierwsze, popularnym etapem w dużych projektach jest generowanie źródeł : generowanie kodu Java na przykład na podstawie XML. I parę process-sources , która robi coś z tym kodem.
Po drugie, generowanie zasobów to generowanie zasobów i metoda sparowanych zasobów procesowych . W dużych projektach często zobaczysz działania związane z tymi fazami.
I na koniec testowanie. Ma trzy dodatkowe opcjonalne fazy, które pomagają maksymalnie uelastycznić przebieg fazy testowej: source-test-sources, process-test-resources, test-compile.
GO TO FULL VERSION