5.1 Liste over prosjektfaser
Til slutt kom vi til monteringen av prosjektet. Og da blir du litt overrasket. Vel, eller sterkt, som det viser seg. Maven har revidert sin tilnærming til å bygge et prosjekt. Og nå vil du bli overbevist om det.
Hele monteringen av prosjektet ble delt inn i faser, hvis beskrivelse jeg vil gi i tabellen nedenfor:
rekkefølge | Fase | |
---|---|---|
1 | validere | kontrollerer riktigheten av metainformasjon om prosjektet |
2 | kompilere | samler kilder |
3 | test | kjører klassetestene fra forrige trinn |
4 | pakke | pakker de kompilerte klassene inn i en ny artefakt: jar, war, zip, ... |
5 | bekrefte | kontrollerer artefaktens korrekthet og tilfredsstillelse av kvalitetskrav |
6 | installere | legger gjenstanden i det lokale depotet |
7 | utplassere | laster opp en artefakt til en produksjonsserver eller eksternt depot |
Samtidig er trinnene tydelig sekvensielle . Hvis du ber Maven om å kjøre pakkekommandoen, vil den først kjøre validerings-, kompilerings-, testfasene og først deretter pakke
I prinsippet er det ikke noe nytt her, bortsett fra at det er separate faser for kvalitetskontroll: validere, teste, verifisere. Og så mange som to faser for distribusjon av sammenstillingen - installer og distribuer.
For å starte en spesifikk fase er det nok å skrive maven phase- kommandoen . For å bygge, må du for eksempel kjøre maven-pakkekommandoen . Etc.
Intellij IDEA er flinke til å jobbe med disse fasene, og den har en spesiell meny til høyre for disse formålene:
Her, i tillegg til de velkjente fasene, viser IDEA ytterligere 2 kommandoer: clean og site . clean brukes til å tømme målmappen fullstendig, og nettstedet kan lage prosjektdokumentasjon.
5.2 Bygge et prosjekt
Hvis du vil kompilere prosjektet, må du kjøre kompileringsfasen. Dette kan gjøres ved å bruke kommandolinjen: mvn compile eller gjennom IDEA-grensesnittet ved å klikke på kompileringselementet .
Etter det vil Maven begynne å bygge prosjektet, og du vil se en logg over byggeprosessen som ligner på 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 noe gikk galt, vil loggen se slik ut:
[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 vil være mye nyttig informasjon i loggen, over tid vil du lære å forstå og sette pris på det.
5.3 Arbeidssykluser
Alle maven-kommandoer er delt inn i tre grupper - livssykluser. De kalles livssykluser fordi de spesifiserer rekkefølgen på fasene som kjører i løpet av et bygg eller en bestemt livssyklus fordi ikke alle Maven-aktiviteter er bygg.
Det er tre livssykluser:
- ren;
- misligholde;
- nettstedet.
Og hver av dem har sin egen faserekkefølge. Clean har den korteste:
- pre clean;
- ren;
- stolpe rent.
Skjulte ekstra pre-clean- og post-clean-faser er lagt til slik at oppryddingsscenariet kan gjøres mer fleksibelt.
Deretter kommer nettstedets livssyklus , som, som du allerede vet, er designet for automatisk å generere prosjektdokumentasjon. Den består av fire faser:
- forhåndssted
- nettstedet;
- post-side;
- nettsted-distribusjon.
Standard livssykluser kan forbedres med funksjonalitet ved å bruke Maven-plugins . Vi skal snakke om dette senere, for dette er et veldig interessant tema som fortjener et eget foredrag.
Og standardskriptet har den lengste listen over faser:
- validere;
- generere-kilder;
- prosess-kilder;
- generere-ressurser;
- prosess-ressurser;
- kompilere;
- prosess-test-kilder;
- prosess-test-ressurser;
- test kompilere;
- test;
- pakke;
- installere;
- utplassere.
Det er alle de samme fasene du allerede vet om, men noen flere valgfrie er lagt til.
For det første er et populært stadium i store prosjekter generere-kilder : generering av Java-kode basert på XML, for eksempel. Og et par prosesskilder , som gjør noe med denne koden.
For det andre er genereringen av ressurser generere-ressurser og dens sammenkoblede prosessressurser -metoden . Du vil ofte se noen aktiviteter knyttet til disse fasene i store prosjekter.
Og til slutt, testing. Den har ytterligere tre valgfrie faser som bidrar til å gjøre kjøringen av testfasen så fleksibel som mulig: prosess-test-kilder, prosess-test-ressurser, test-kompilere.
GO TO FULL VERSION