Maven mål og faser
1. Oversikt
I denne opplæringen vil vi utforske forskjellige Maven-byggesykluser og deres faser.
Vi vil også diskutere kjerneforholdet mellom mål og faser.
2. Maven Build livssyklus
Maven-bygningen følger en bestemt livssyklus for å distribuere og distribuere målprosjektet.
Det er tre innebygde livssykluser:
- standard: den viktigste livssyklusen da den er ansvarlig for prosjektutplassering
- clean: for å rense prosjektet og fjerne alle filer generert av forrige build
- side: for å lage prosjektets dokumentasjon
Hver livssyklus består av en sekvens av faser. De misligholde bygge livssyklus består av 23 faser, da det er den viktigste livssyklusen.
På den andre siden, ren livssyklus består av 3 faser, mens nettstedet livssyklus består av 4 faser.
3. Maven-fase
En Maven-fase representerer et stadium i Maven-bygningen Livssyklus. Hver fase er ansvarlig for en bestemt oppgave.
Her er noen av de viktigste fasene i misligholde bygge livssyklus:
- validere: sjekk om all informasjon som er nødvendig for byggingen er tilgjengelig
- kompilere: kompiler kildekoden
- test-kompilere: kompiler testkildekoden
- test: kjøre enhetstester
- pakke: pakke kompilert kildekode i distribuerbart format (jar, war, ...)
- integrasjonstest: behandle og distribuere pakken om nødvendig for å kjøre integrasjonstester
- installere: installer pakken til et lokalt depot
- utplassere: kopier pakken til det eksterne depotet
For den fulle listen over hver livssyklus, kan du sjekke ut Maven Reference.
Fasene utføres i en bestemt rekkefølge. Dette betyr at hvis vi kjører en bestemt fase ved hjelp av kommandoen:
mvn
Dette utfører ikke bare den angitte fasen, men også alle de foregående fasene.
For eksempel hvis vi kjører utplassere fase - som er den siste fasen i misligholde bygge livssyklus - som vil utføre alle faser før utplassere fase også, som er hele misligholde Livssyklus:
mvn distribuere
4. Maven mål
Hver fase er en sekvens av mål, og hvert mål er ansvarlig for en bestemt oppgave.
Når vi kjører en fase - blir alle mål bundet til denne fasen utført i rekkefølge.
Her er noen av fasene og standardmålene knyttet til dem:
- kompilator: kompilere - den kompilere mål fra kompilator plugin er bundet til kompilere fase
- kompilator: testCompile er bundet til test-kompilere fase
- surefire: test er bundet til test fase
- installer: installer er bundet til installere fase
- krukke: krukke og krig: krig er bundet til pakke fase
Vi kan liste opp alle mål bundet til en bestemt fase og deres plugins ved hjelp av kommandoen:
mvn help: beskriv -Dcmd = FASENAVN
For eksempel å liste opp alle mål bundet til kompilere fase, kan vi løpe:
mvn hjelp: beskriv -Dcmd = kompilere
Og få prøveutgangen:
kompilere 'er en fase som tilsvarer dette pluginet: org.apache.maven.plugins: maven-compiler-plugin: 3.1: kompilere
Som, som nevnt ovenfor, betyr kompilere mål fra kompilator plugin er bundet til kompilere fase.
5. Maven-plugin
Et Maven-plugin er en gruppe mål. Imidlertid er disse målene ikke nødvendigvis alle bundet til samme fase.
Her er for eksempel en enkel konfigurasjon av Maven Failsafe-plugin som er ansvarlig for å kjøre integrasjonstester:
maven-failsafe-plugin $ {maven.failsafe.version} integrasjonstest verifiser
Som vi kan se, har Failsafe-plugin to hovedmål konfigurert her:
- integrasjonstest: kjør integrasjonstester
- bekrefte: bekreft alle integrerte tester som er bestått
Vi kan bruke følgende kommando til liste opp alle målene i et bestemt plugin:
mvn: hjelp
For eksempel for å liste opp alle målene i Failsafe-plugin:
mvn failsafe: hjelp
Og resultatet av dette vil være:
Dette pluginet har 3 mål: failsafe: help Vis hjelpinformasjon på maven-failsafe-plugin. Ring mvn failsafe: help -Ddetail = true -Dgoal = for å vise parameterdetaljer. failsafe: integration-test Kjør integrasjonstester ved hjelp av Surefire. failsafe: verifiser Bekreft integrasjonstester kjørt med Surefire.
Å kjøre et bestemt mål uten å utføre hele fasen (og de foregående fasene) vi kan bruke kommandoen:
mvn:
For eksempel å løpe integrasjonstest mål fra Failsafe-plugin, vi må kjøre:
mvn failsafe: integrasjonstest
6. Bygg et Maven-prosjekt
For å bygge et Maven-prosjekt, må vi utføre en av livssyklusene ved å kjøre en av fasene:
mvn distribuere
Dette vil utføre hele misligholde Livssyklus. Alternativt kan vi stoppe ved installere fase:
mvn installere
Men vanligvis bruker vi kommandoen:
mvn ren installasjon
For å rengjøre prosjektet først - ved å kjøre ren livssyklus - før nybygget.
Vi kan også kjøre bare et bestemt mål for plugin:
mvn kompilator: kompilere
Merk at hvis vi prøvde å bygge et Maven-prosjekt uten å spesifisere en fase eller et mål, vil det forårsake feilen:
[FEIL] Ingen mål er spesifisert for denne versjonen. Du må spesifisere en gyldig livssyklusfase eller et mål
7. Konklusjon
I denne artikkelen diskuterte vi livssykluser fra Maven, samt forholdet mellom Maven-faser og mål.