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.


$config[zx-auto] not found$config[zx-overlay] not found