5.1 Lijst met projectfasen
Eindelijk kwamen we bij de montage van het project. En dan zul je een beetje verrast zijn. Nou ja, of sterk, zo blijkt. Maven heeft zijn aanpak voor het bouwen van een project herzien. En nu zul je ervan overtuigd zijn.
De gehele montage van het project was verdeeld in fasen, waarvan ik de beschrijving in de onderstaande tabel zal geven:
volgorde | Fase | |
---|---|---|
1 | valideren | controleert de juistheid van meta-informatie over het project |
2 | compileren | verzamelt bronnen |
3 | test | voert de klassentests uit de vorige stap uit |
4 | pakket | verpakt de gecompileerde klassen in een nieuw artefact: jar, war, zip, ... |
5 | verifiëren | controleert de juistheid van het artefact en de tevredenheid van kwaliteitseisen |
6 | installeren | plaatst het artefact in de lokale repository |
7 | aanwenden | uploadt een artefact naar een productieserver of externe repository |
Tegelijkertijd zijn de stappen duidelijk opeenvolgend . Als u Maven vertelt om de pakketopdracht uit te voeren, voert het eerst de validatie-, compileer-, testfasen uit en pas daarna het pakket
In principe is hier niets nieuws, behalve dat er aparte fasen zijn voor kwaliteitscontrole: valideren, testen, verifiëren. En maar liefst twee fasen voor het implementeren van de assembly: installeren en implementeren.
Om een specifieke fase te starten volstaat het om het commando maven phase te schrijven . Om bijvoorbeeld te bouwen, moet u de opdracht maven package uitvoeren . Enz.
Intellij IDEA is geweldig in het werken met deze fasen en heeft voor deze doeleinden een speciaal menu aan de rechterkant :

Hier geeft IDEA naast de bekende fasen nog 2 commando's weer: clean en site . clean wordt gebruikt om de doelmap volledig te wissen en de site kan projectdocumentatie maken.
5.2 Bouwen aan een project
Als u het project wilt compileren, moet u de compileerfase uitvoeren. Dit kan worden gedaan via de opdrachtregel: mvn compile of via de IDEA-interface door op het compile- item te klikken .
Daarna begint Maven met het bouwen van het project en ziet u een logboek van het bouwproces dat er ongeveer zo uitziet:
[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] ------------------------------------------------------------------------
Als er iets mis is gegaan, ziet het logboek er als volgt uit:
[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
Er zal veel nuttige informatie in het logboek staan, na verloop van tijd zul je het leren begrijpen en waarderen.
5.3 Werkcycli
Alle maven-opdrachten zijn onderverdeeld in drie groepen: levenscycli. Ze worden levenscycli genoemd omdat ze de volgorde specificeren van de fasen die worden uitgevoerd tijdens een build of een bepaalde levenscyclus, omdat niet alle Maven-activiteiten builds zijn.
Er zijn drie levenscycli:
- schoon;
- standaard;
- plaats.
En elk van hen heeft zijn eigen fasevolgorde. Clean heeft de kortste:
- voorreiniging;
- schoon;
- post schoon.
Verborgen extra pre-clean en post-clean fasen zijn toegevoegd zodat het opruimscenario flexibeler kan worden gemaakt.
Dan komt de levenscyclus van de site , die, zoals u al weet, is ontworpen om automatisch projectdocumentatie te genereren. Het bestaat uit vier fasen:
- pre-site
- plaats;
- post-site;
- site-implementatie.
Standaardlevenscycli kunnen worden uitgebreid met functionaliteit met behulp van Maven-plug-ins . We zullen hier later over praten, omdat dit een zeer interessant onderwerp is dat een aparte lezing verdient.
En het standaardscript heeft de langste lijst met fasen:
- valideren;
- genereren-bronnen;
- procesbronnen;
- bronnen genereren;
- procesbronnen;
- compileren;
- proces-test-bronnen;
- proces-test-bronnen;
- test compileren;
- test;
- pakket;
- installeren;
- aanwenden.
Er zijn allemaal dezelfde fasen die je al kent, maar er zijn nog een paar optionele toegevoegd.
Ten eerste is het genereren van bronnen een populaire fase in grote projecten : het genereren van Java-code op basis van bijvoorbeeld XML. En een paar procesbronnen , die iets met deze code doen.
Ten tweede is het genereren van bronnen de methode genereren-bronnen en de gepaarde procesbronnen . Bij grote projecten zie je vaak enkele activiteiten die aan deze fases gekoppeld zijn.
En tot slot, testen. Het heeft drie extra optionele fasen die helpen om de testfase zo flexibel mogelijk uit te voeren: proces-test-bronnen, proces-test-bronnen, test-compileren.
GO TO FULL VERSION