Maven mål og faser

1. Oversigt

I denne vejledning udforsker vi forskellige Maven-opbyggede livscyklusser og deres faser.

Vi diskuterer også kerneforholdet mellem mål og faser.

2. Maven Build livscyklus

Maven-bygningen følger en bestemt livscyklus for at implementere og distribuere målprojektet.

Der er tre indbyggede livscyklusser:

  • standard: den vigtigste livscyklus, da den er ansvarlig for implementering af projektet
  • clean: for at rense projektet og fjerne alle filer genereret af den forrige build
  • site: at oprette projektets webstedsdokumentation

Hver livscyklus består af en række faser. Det Standard bygge livscyklus består af 23 faser, da det er den vigtigste bygning livscyklus.

På den anden side, ren livscyklus består af 3 faser, mens websted livscyklus består af 4 faser.

3. Maven-fase

En Maven-fase repræsenterer en fase i Maven-bygningen livscyklus. Hver fase er ansvarlig for en bestemt opgave.

Her er nogle af de vigtigste faser i Standard bygge livscyklus:

  • validere: kontrollere, om alle nødvendige oplysninger til bygningen er tilgængelige
  • udarbejde: kompilere kildekoden
  • test-kompilering: kompiler testkildekoden
  • prøve: køre enhedstest
  • pakke: pakke kompileret kildekode i det distribuerbare format (jar, war, ...)
  • integration-test: behandle og implementere pakken, hvis det er nødvendigt for at køre integrationstest
  • installere: installer pakken til et lokalt lager
  • indsætte: kopier pakken til fjernlageret

For den fulde liste over hver livscyklus faser, se Maven Reference.

Faser udføres i en bestemt rækkefølge. Dette betyder, at hvis vi kører en bestemt fase ved hjælp af kommandoen:

mvn 

Dette udfører ikke kun den specificerede fase, men også alle de foregående faser.

For eksempel hvis vi kører indsætte fase - som er den sidste fase i Standard bygge livscyklus - der udfører alle faser inden indsætte fase også, hvilket er hele Standard livscyklus:

mvn implementere

4. Maven mål

Hver fase er en sekvens af mål, og hvert mål er ansvarlig for en bestemt opgave.

Når vi kører en fase - udføres alle mål bundet til denne fase i rækkefølge.

Her er nogle af de faser og standardmål, der er bundet til dem:

  • kompilator: kompilere - det udarbejde mål fra kompilator plugin er bundet til udarbejde fase
  • compiler: testCompile er bundet til test-kompilere fase
  • surefire: test er bundet til prøve fase
  • installer: installer er bundet til installere fase
  • krukke: krukke og krig: krig er bundet til pakke fase

Vi kan liste alle mål, der er bundet til en bestemt fase, og deres plugins ved hjælp af kommandoen:

mvn hjælp: beskriv -Dcmd = FASENAVN

For eksempel at liste alle mål, der er bundet til udarbejde fase, kan vi køre:

mvn hjælp: beskriv -Dcmd = kompilér

Og få prøveoutput:

kompilere 'er en fase, der svarer til dette plugin: org.apache.maven.plugins: maven-compiler-plugin: 3.1: kompilere

Som, som nævnt ovenfor, betyder det udarbejde mål fra kompilator plugin er bundet til udarbejde fase.

5. Maven-plugin

Et Maven-plugin er en gruppe af mål. Imidlertid er disse mål ikke nødvendigvis alle bundet til den samme fase.

For eksempel er her en simpel konfiguration af Maven Failsafe-plugin, som er ansvarlig for at køre integrationstest:

   maven-failsafe-plugin $ {maven.failsafe.version} integration-test bekræftelse 

Som vi kan se, har Failsafe-pluginet to hovedmål konfigureret her:

  • integration-test: kør integrationstest
  • verificere: kontrollere alle beståede integrationstest

Vi kan bruge følgende kommando til liste alle mål i et specifikt plugin:

mvn: hjælp

For eksempel for at liste alle mål i Failsafe-pluginet:

mvn failsafe: hjælp

Og resultatet af dette vil være:

Dette plugin har 3 mål: failsafe: help Vis hjælpoplysninger om maven-failsafe-plugin. Ring til mvn failsafe: hjælp -Detail = sand -Dgoal = for at få vist parameteroplysninger. failsafe: integration-test Kør integrationstests ved hjælp af Surefire. failsafe: verificer Bekræft, at integrationstest kørte ved hjælp af Surefire.

At køre et specifikt mål uden at udføre hele sin fase (og de foregående faser) vi kan bruge kommandoen:

mvn:

For eksempel at køre integration-test mål fra Failsafe-plugin, vi skal køre:

mvn failsafe: integration-test

6. Opbygning af et Maven-projekt

For at opbygge et Maven-projekt er vi nødt til at udføre en af ​​livscyklusserne ved at køre en af ​​deres faser:

mvn implementere

Dette udfører hele Standard livscyklus. Alternativt kan vi stoppe ved installere fase:

mvn installere

Men normalt bruger vi kommandoen:

mvn ren installation

For at rense projektet først - ved at køre ren livscyklus - inden nybygningen.

Vi kan også kun køre et specifikt mål med pluginet:

mvn compiler: kompilere

Bemærk, at hvis vi forsøgte at opbygge et Maven-projekt uden at angive en fase eller et mål, vil det forårsage fejlen:

[FEJL] Der er ikke angivet nogen mål for denne build. Du skal angive en gyldig livscyklusfase eller et mål

7. Konklusion

I denne artikel diskuterede vi Maven-opbygning af livscyklusser samt forholdet mellem Maven-faser og mål.


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