5.1 Liste over projektfaser

Endelig kom vi til montagen af ​​projektet. Og så bliver man lidt overrasket. Nå, eller stærkt, som det viser sig. Maven har revideret sin tilgang til at bygge et projekt. Og nu vil du være overbevist om det.

Hele samlingen af ​​projektet var opdelt i faser, hvis beskrivelse jeg vil give i tabellen nedenfor:

bestille Fase
1 validere kontrollerer rigtigheden af ​​metainformation om projektet
2 udarbejde samler kilder
3 prøve kører klassetestene fra det forrige trin
4 pakke pakker de kompilerede klasser i en ny artefakt: krukke, krig, zip, ...
5 verificere kontrollerer artefaktens rigtighed og opfyldelse af kvalitetskrav
6 installere placerer artefakten i det lokale depot
7 indsætte uploader en artefakt til en produktionsserver eller fjernlager

Samtidig er trinene klart sekventielle . Hvis du beder Maven om at køre pakkekommandoen, vil den først køre validerings-, kompilerings-, testfaserne og først derefter pakke

I princippet er der ikke noget nyt her, bortset fra at der er separate faser til kvalitetskontrol: validere, teste, verificere. Og så mange som to faser til implementering af samlingen - installer og implementer.

For at starte en specifik fase er det nok at skrive maven phase- kommandoen . For at bygge skal du for eksempel køre maven-pakkekommandoen . Etc.

Intellij IDEA er fantastisk til at arbejde med disse faser, og den har en særlig menu til højre til disse formål:

maven fase

Her viser IDEA udover de velkendte faser yderligere 2 kommandoer: clean og site . clean bruges til at rydde målmappen fuldstændigt, og webstedet kan oprette projektdokumentation.

5.2 Opbygning af et projekt

Hvis du vil kompilere projektet, skal du køre kompileringsfasen. Dette kan gøres ved hjælp af kommandolinjen: mvn compile eller gennem IDEA-grænsefladen ved at klikke på kompileringselementet .

Derefter vil Maven begynde at bygge projektet, og du vil se en log over byggeprocessen, der ligner denne:

[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] ------------------------------------------------------------------------

Hvis noget gik galt, vil loggen se sådan ud:

[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 

Der vil være en masse nyttig information i loggen, med tiden vil du lære at forstå og værdsætte det.

5.3 Arbejdscyklusser

Alle maven-kommandoer er opdelt i tre grupper - livscyklusser. De kaldes livscyklusser, fordi de angiver rækkefølgen af ​​de faser, der løber under en build eller en bestemt livscyklus, fordi ikke alle Maven-aktiviteter er builds.

Der er tre livscyklusser:

  • ren;
  • Standard;
  • websted.

Og hver af dem har sin egen faserækkefølge. Clean har den korteste:

  1. før ren;
  2. ren;
  3. post ren.

Skjulte yderligere før- og efterrensningsfaser er blevet tilføjet, så oprydningsscenariet kan gøres mere fleksibelt.

Derefter kommer webstedets livscyklus , der, som du allerede ved, er designet til automatisk at generere projektdokumentation. Den består af fire faser:

  1. præ-site
  2. websted;
  3. post-site;
  4. site-deploy.

Standardlivscyklusser kan forbedres med funktionalitet ved hjælp af Maven-plugins . Vi vil tale om dette senere, fordi dette er et meget interessant emne, som fortjener et separat foredrag.

Og standardscriptet har den længste liste over faser:

  1. validere;
  2. generere-kilder;
  3. proces-kilder;
  4. generere-ressourcer;
  5. proces-ressourcer;
  6. udarbejde;
  7. proces-test-kilder;
  8. proces-test-ressourcer;
  9. test kompilering;
  10. prøve;
  11. pakke;
  12. installere;
  13. indsætte.

Der er alle de samme faser, som du allerede kender til, men der er tilføjet et par flere valgfrie.

For det første er et populært stadium i store projekter generere-kilder : generering af Java-kode baseret på XML, for eksempel. Og et par proceskilder , som gør noget med denne kode.

For det andet er genereringen af ​​ressourcer generere-ressourcer og dens parrede procesressourcemetode . Du vil ofte se nogle aktiviteter knyttet til disse faser i store projekter.

Og endelig test. Den har yderligere tre valgfrie faser, der hjælper med at gøre afviklingen af ​​testfasen så fleksibel som muligt: ​​proces-test-kilder, proces-test-ressourcer, test-kompilere.