Apache Maven (Norsk)

– Prosjektet Objekt ModelEdit

Et Prosjekt Object Model (POM) gir alle konfigurasjon for et enkelt prosjekt. Generell konfigurasjon dekker prosjektets navn, sin eier og dens avhengigheter til andre prosjekter. Man kan også konfigurere enkelte fasene av byggeprosessen, som er implementert som plugins. En kan For eksempel konfigurere kompilatoren-plugin for å bruke Java versjon 1.5 for samling, eller angi emballasje prosjektet, selv om enkelte enhet tester mislykkes.

Større prosjekter bør deles inn i flere moduler, eller bi-prosjekter, hver med sin egen POM., Man kan da skrive en rot POM der man kan kompilere alle moduler med en enkelt kommando. POMs kan også arve konfigurasjon fra andre POMs. Alle POMs arve fra Super POM som standard. Super POM gir standard konfigurasjon, for eksempel standard kilde kataloger, standard plugins, og så videre.

Plugin-insEdit

de Fleste av Maven funksjonalitet er i plugins. En plugin som gir et sett av mål som kan utføres ved å bruke kommandoen mvn :., For eksempel, et Java-prosjekt kan bli samlet med kompilatoren-plugin kompilere-målet ved å kjøre mvn compiler:compile.

Det er Maven plugins for bygging, testing, source control management, kjører en web-server, noe som ga et Eclipse-prosjekt filer, og mye mer. Plugins er innført og konfigurert i en <plugins>-delen av en pom.xml – filen. Noen grunnleggende plugins er inkludert i hvert prosjekt som standard, og de har en fornuftig standard innstillinger.,

Imidlertid, det ville være tungvint hvis den arketypiske bygge sekvens av bygging, testing og pakking, en programvare-prosjekt som kreves for å kjøre hver respektive mål manuelt:

  • mvn compiler:compile
  • mvn surefire:test
  • mvn jar:jar

Maven lifecycle konseptet håndterer dette problemet.

Plugins er den primære måten å utvide Maven. Å utvikle en Maven-plugin kan gjøres ved å utvide org.apache.maven.programtillegg.AbstractMojo klasse., Eksempel kode og forklaring for en Maven-plugin for å lage en cloud-basert virtuell maskin som kjører et program server er gitt i artikkelen Automatisere utvikling og forvaltning av cloud virtuelle maskiner.

Bygge lifecyclesEdit

build livssyklus er en liste over navngitte faser som kan brukes til å gi ordre til målet gjennomføring., En av Maven standard livssykluser er standard livssyklus, som omfatter følgende faser, i denne rekkefølgen:

  • validere
  • generate-kilder
  • prosess-kilder
  • generate-ressurser
  • prosess-ressurser
  • utarbeide
  • prosess-test-kilder
  • prosess-test-ressurser
  • test-kompilere
  • test
    pakke
  • install
  • distribuere

Mål gitt av plugins kan være knyttet til ulike faser av livssyklusen., For eksempel, standard mål «kompilatoren:kompilere» er assosiert med «compile» fase, mens målet «soleklart:test» som er assosiert med «test» fase. Når mvn test – kommandoen er utført, Maven går alle mål knyttet til hver av fasene frem til og med «test» fase. I et slikt tilfelle, Maven kjører «ressurser:ressurser» mål assosiert med «prosess-ressurser» fase, deretter «kompilatoren:kompilere», og så videre inntil det til slutt går «soleklart:test» mål.

Maven har også standard faser for rengjøring av prosjektet og for å generere et nettsted., Hvis du må rengjøre var en del av standard livssyklus, prosjektet ville være rengjort hver gang det ble bygget. Dette er klart uheldig, så rengjøring har fått sin egen livssyklus.

Standard livssykluser gjøre det mulig for brukerne nye til et prosjekt evnen til å nøyaktig bygge, teste og installere hver Maven prosjektet ved utstedelse enkelt kommando mvn install. Som standard, Maven pakker POM-filen i generert JAR og WAR-filer. Verktøy som diet4j kan bruke denne informasjonen til å undermapper løse og kjøre Maven moduler på kjøre-tid uten å kreve en «uber»-jar som inneholder alle prosjekt-kode.,

DependenciesEdit

En sentral funksjon i Maven er avhengigheten ledelse. Maven avhengighet-håndtering mekanismen er organisert rundt et koordinatsystem å identifisere individuelle gjenstander slik som programvare biblioteker og moduler. Den POM eksempelet ovenfor viser til JUnit-koordinater som en direkte avhengighet av prosjektet. Et prosjekt som har behov for, si, Hibernate bibliotek har rett og slett å erklære Dvalemodus prosjekt koordinater i sin POM., Maven vil automatisk laste ned de avhengighet og avhengigheter som Dvalemodus i seg selv trenger (kalt transitiv avhengigheter), og lagre dem i brukerens lokale depotet. Maven 2 Sentrale lager brukes som standard for å søke for bibliotekene, men man kan konfigurere kjeldene som skal brukes (f.eks., firma-private depoter) i POM.

Den grunnleggende forskjellen mellom Maven og Ant er at Maven design hilsen alle prosjekter som har en viss struktur og et sett av støttede oppgaven arbeid-strømmer (f.eks.,, få ressurser fra source control, kompilere prosjektet, unit testing, osv.). Mens de fleste programvare-prosjekter i kraft støtte disse operasjonene, og faktisk har en veldefinert struktur, Maven krever at denne strukturen og driften gjennomføring detaljer være definert i POM-filen. Dermed, Maven er avhengig av en konvensjon om hvordan man skal definere prosjekter og på listen over arbeid-strømmer som er generelt støttes i alle prosjekter.,

Det finnes søkemotorer som Det Sentrale lageret Søkemotor som kan brukes til å finne ut koordinater for ulike open source-biblioteker og-rammer.

Prosjekter som er utviklet på en enkelt maskin kan stole på hverandre gjennom lokale depotet. Den lokale depotet er en enkel mappe struktur som fungerer både som en buffer for nedlastede avhengigheter og som en sentralisert lagring stedet for lokalt bygget gjenstander. Den Maven kommandoen mvn install bygger et prosjekt og steder det binærfiler i det lokale lageret., Da andre prosjekter som kan utnytte dette prosjektet ved å angi koordinatene i deres POMs.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *