5.1 Lista över projektfaser

Äntligen kom vi till monteringen av projektet. Och då blir man lite förvånad. Tja, eller starkt, som det visar sig. Maven har reviderat sin metod för att bygga ett projekt. Och nu kommer du att bli övertygad om det.

Hela monteringen av projektet var uppdelad i faser, vars beskrivning jag kommer att ge i tabellen nedan:

beställa Fas
1 bekräfta kontrollerar riktigheten av metainformation om projektet
2 sammanställa sammanställer källor
3 testa kör klasstesterna från föregående steg
4 paket packar de kompilerade klasserna i en ny artefakt: burk, krig, zip, ...
5 kontrollera kontrollerar artefaktens riktighet och att kvalitetskraven är uppfyllda
6 Installera placerar artefakten i det lokala förvaret
7 distribuera laddar upp en artefakt till en produktionsserver eller fjärrlager

Samtidigt är stegen tydligt sekventiella . Om du säger åt Maven att köra paketkommandot kommer det först att köra validera, kompilera, testa faserna och först sedan paketera

I princip finns det inget nytt här, förutom att det finns separata faser för kvalitetskontroll: validera, testa, verifiera. Och så många som två faser för att distribuera sammansättningen - installera och distribuera.

För att starta en specifik fas räcker det att skriva kommandot maven phase . Till exempel, för att bygga, måste du köra maven-paketkommandot . Etc.

Intellij IDEA är bra på att arbeta med dessa faser och den har en speciell meny till höger för dessa ändamål:

maven fas

Här, förutom de välkända faserna, visar IDEA ytterligare 2 kommandon: clean och site . clean används för att rensa målmappen helt och webbplatsen kan skapa projektdokumentation.

5.2 Att bygga ett projekt

Om du vill kompilera projektet måste du köra kompileringsfasen. Detta kan göras med hjälp av kommandoraden: mvn compile eller via IDEA-gränssnittet genom att klicka på kompileringsobjektet .

Efter det kommer Maven att börja bygga projektet och du kommer att se en logg över byggprocessen som liknar denna:

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

Om något gick fel kommer loggen att se ut så här:

[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 

Det kommer att finnas mycket användbar information i loggen, med tiden lär du dig förstå och uppskatta den.

5.3 Arbetscykler

Alla Maven-kommandon är indelade i tre grupper - livscykler. De kallas livscykler eftersom de anger ordningen för faserna som körs under en byggnad eller en viss livscykel eftersom inte alla Maven-aktiviteter är byggnader.

Det finns tre livscykler:

  • rena;
  • standard;
  • webbplats.

Och var och en av dem har sin egen fasordning. Clean har den kortaste:

  1. förrengöring;
  2. rena;
  3. inlägg rent.

Dolda ytterligare för- och efterrengöringsfaser har lagts till så att rensningsscenariot kan göras mer flexibelt.

Sedan kommer webbplatsens livscykel , som, som du redan vet, är utformad för att automatiskt generera projektdokumentation. Den består av fyra faser:

  1. pre-site
  2. webbplats;
  3. post-site;
  4. platsinstallation.

Standardlivscykler kan förbättras med funktionalitet med Maven-plugins . Vi kommer att prata om detta senare, eftersom detta är ett mycket intressant ämne som förtjänar en separat föreläsning.

Och standardskriptet har den längsta listan med faser:

  1. bekräfta;
  2. generera-källor;
  3. processkällor;
  4. generera-resurser;
  5. process-resurser;
  6. sammanställa;
  7. process-test-källor;
  8. process-test-resurser;
  9. testkompilera;
  10. testa;
  11. paket;
  12. Installera;
  13. distribuera.

Det finns alla samma faser som du redan känner till, men några fler valfria har lagts till.

För det första är ett populärt steg i stora projekt generera-källor : generera Java-kod baserad på XML, till exempel. Och ett par processkällor , som gör något med den här koden.

För det andra är genereringen av resurser generera-resurser och dess parade processresursmetod . Du kommer ofta att se vissa aktiviteter kopplade till dessa faser i stora projekt.

Och slutligen, testning. Den har ytterligare tre valfria faser som hjälper till att göra testfasen så flexibel som möjligt: ​​process-test-källor, process-test-resurser, test-kompilera.