CodeGym /Java-blogg /Tilfeldig /Del 4. Det grunnleggende om Maven
John Squirrels
Nivå
San Francisco

Del 4. Det grunnleggende om Maven

Publisert i gruppen
Dette materialet er en del av serien "Introduksjon til bedriftsutvikling". Tidligere artikler: Del 4. Det grunnleggende om Maven - 1Maven er et verktøy for å administrere og bygge prosjekter - en Java-programmerers hjelpsomme assistent. Det gjør livet enklere for utviklere i alle faser av arbeidet: fra å lage prosjektstrukturen og koble til de nødvendige bibliotekene til å distribuere produktet på serveren. Du må bruke Maven når du arbeider med ethvert rammeverk. Så la oss i dag ta en titt på hovedfunksjonene og se hvordan du bruker dem.

Trinn-for-trinn installasjon av Maven

  1. Først må vi installere Maven. Last den ned fra denne linken .

  2. Deretter pakker du ut det nedlastede arkivet og setter miljøvariabelen M2_HOME til plasseringen av det utpakkede arkivet. For eksempel, C:\\Program Files\\maven\\

  3. For å sikre at alt er installert, kjør følgende på kommandolinjen:

    mvn -versjon

  4. Hvis versjonsinformasjonen for Maven, Java osv. vises, er alt klart til bruk.

  5. Åpne nå IntelliJ IDEA og lag et nytt prosjekt. I det første vinduet velger du Maven:

    Del 4. Det grunnleggende om Maven - 2
  6. Klikk "Neste" og fyll ut vinduet som vises:

    Del 4. Det grunnleggende om Maven - 3
  7. Deretter, som vanlig, lag et prosjekt hvor du vil.

    Etter at prosjektet er opprettet, legg merke til strukturen:

    Del 4. Det grunnleggende om Maven - 4
Dette er standardstrukturen til et Maven-prosjekt :
  • src /main/java- mappen inneholder Java-klassene
  • src /main/resources- mappen inneholder ressursene som brukes av applikasjonen (HTML-sider, bilder, stilark, etc.)
  • src /test- mappen er for tester
Vær også oppmerksom på filen som heter pom.xml . Dette er hovedfilen for å administrere Maven . Hele prosjektbeskrivelsen finner du her. Det er ikke for mye informasjon for øyeblikket, men vi legger det til nå.

Administrere avhengigheter i Maven

Du har kanskje kommet over uttrykket "avhengighetsansvarlig". Maven vet hvordan man håndterer avhengigheter. Takket være Maven trenger du ikke å bruke mye tid på å søke på Internett etter et nødvendig bibliotek, laste det ned og deretter koble det til prosjektet ditt. I stedet legger du bare til det nødvendige biblioteket til listen over avhengigheter i Maven.

Avhengigheter er spesifisert i avhengighetsnoden til pom.xml-filen

La oss si at du trenger Apache Commons IO-biblioteket i prosjektet ditt for å forenkle arbeid med filer. For å legge til et bibliotek, skriver vi fem linjer i pom.xml:

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Nå skal pom.xml-filen din se slik ut:

  <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Etter det, la IntelliJ IDEA importere avhengigheten (en dialogboks skal vises i nedre høyre hjørne). Nå er biblioteket klart til bruk:

import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Alle påfølgende avhengigheter må også skrives inne i <dependencies>taggen. Du lurer kanskje på hvordan du finner ut informasjonen om biblioteket som du må angi inne i taggen <dependency>. Det er enkelt. Tre parametere må alltid angis: "groupId", "artifactId" og "version". Det er to måter å bestemme disse parameterne på:
  1. På bibliotekets hjemmeside. Hvis vi trenger Apache Commons IO-biblioteket, går vi til den offisielle nettsiden og velger fanen "Dependency Information". All nødvendig informasjon er her - du kan ganske enkelt kopiere den og legge den til noden <dependencies>.

  2. I et Maven-lager . Skriv inn "apache commons io" i søkefeltet og du vil se alle tilgjengelige versjoner av biblioteket. Etter å ha valgt den riktige, kopierer du bare følgende:

    
    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>
    

    og legg den til pom.xml.

Typer Maven-depoter

Det er verdt for oss å nevne Maven-depoter igjen, fordi vi faktisk har to av dem: et eksternt (sentralt) depot og et lokalt (på datamaskinen din) depot. Alle biblioteker du legger til i prosjektene dine, lagres i det lokale depotet. Når Maven legger til en nødvendig avhengighet til et prosjekt, sjekker den først om biblioteket allerede eksisterer i det lokale depotet. Den får tilgang til det eksterne depotet bare hvis det ikke finner biblioteket lokalt. Som du kan se, kan du bruke Maven til å legge til avhengigheter, men dette er ikke alt det kan gjøre.

Bygge et Java-prosjekt ved hjelp av Maven

Denne muligheten kan virke meningsløs for en nybegynner. Hvorfor trenger vi dette hvis vi har en IDE? La meg forklare. For det første kan det hende at serveren der du skal bygge applikasjonen din verken har et utviklingsmiljø eller et grafisk grensesnitt. For det andre, på store prosjekter, gjør Maven en bedre jobb med å bygge prosjektet. Så uten ytterligere adieu, vil vi vurdere prosessen med å bygge en applikasjon ved hjelp av Maven.

Faser

Prosessen med å bygge en applikasjon er kjent for et Maven-prosjekts livssyklus, og den består av faser. Du kan se på dem i IDEA ved å klikke Maven > eksempel > Livssyklus i øvre høyre hjørne: Del 4. Det grunnleggende om Maven - 5Som du kan se, er det 9 faser:
  1. clean — fjerner alle kompilerte filer fra målkatalogen (stedet der ferdige artefakter lagres)
  2. validere — sjekker om all informasjonen som kreves for å bygge prosjektet er til stede
  3. kompiler — kompilerer kildekodefiler
  4. test — starter tester
  5. pakke — pakker kompilerte filer (i et JAR-, WAR-, etc.-arkiv)
  6. verify — sjekker om den pakkede filen er klar
  7. installer — plasserer pakken i det lokale depotet. Nå kan det brukes av andre prosjekter som et eksternt bibliotek
  8. nettsted — lager prosjektdokumentasjon
  9. distribuere — kopierer det innebygde arkivet til det eksterne depotet
Alle faser utføres sekvensielt: for eksempel kan den fjerde fasen ikke startes før fase 1-3 er fullført. Det er to måter å starte en fase på:
  • gjennom kommandolinjen:

    mvn pakke

    Del 4. Det grunnleggende om Maven - 6
  • bruker IntelliJ IDEA:

    Del 4. Det grunnleggende om Maven - 7

    Før pakkefasen starter, utføres validerings-, kompilerings- og testfasene. Den rene fasen er et unntak. Det er en god idé å kjøre denne fasen før hver bygging av prosjektet. Du kan liste opp flere faser, separere dem med mellomrom:

    mvn ren pakke.

Hver fase har også pre- og post-faser: for eksempel pre-deploy, post-deploy, pre-clean, post-clean, etc., men de brukes ganske sjelden. I tillegg har hver fase mål. Standardmål er satt som standard. Ytterligere mål legges til av Maven-plugins. Noen ganger i løpet av en fase må du kanskje utføre tilleggsfunksjoner. Det finnes Maven-plugins for dette. En liste over offisielle plugins finner du på Maven-nettstedet . Men du bør vite at det er mange tilpassede plugins som kan finnes på tredjeparts nettsteder. Og selvfølgelig, hvis et eksotisk behov oppstår, kan du alltid skrive en tilpasset plug-in selv .

Plugins

For å legge til en Maven-plugin til prosjektet, må vi legge til beskrivelsen til pom.xml-filen, ved å bruke <build>og <plugins>-tagger, på samme måte som vi la til avhengigheter. Anta for eksempel at vi trenger en plugin for å bekrefte at vi bruker den nyeste versjonen av alle våre eksterne biblioteker. Etter litt søk på Internett kunne du finne denne plugin-en og instruksjoner om hvordan du bruker den. La oss angi groupId, artifactId og versjon. Vi vil indikere hvilke mål plugin-en må oppfylle og i hvilken fase. I vårt tilfelle er avhengighetskontrollen i gjeldende pom.xml satt til å skje under valideringsfasen. Nå ser pom.xml-filen vår slik ut:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <build>
       <plugins>
           <plugin>
               <groupId>com.soebes.maven.plugins</groupId>
               <artifactId>uptodate-maven-plugin</artifactId>
               <version>0.2.0</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>dependency</goal>
                       </goals>
                       <phase>validate</phase>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Vi kunne fortsette å jobbe med prosjektet vårt. Men la oss prøve å endre versjonen av Apache Commons IO til 2.0 og bygge prosjektet. Vi får

[ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
Her har vi en byggefeil generert av plugin-en. Feilmeldingen sier at vi bruker versjon 2.0 når versjon 2.6 er tilgjengelig. I utgangspunktet er Maven et veldig nyttig verktøy. Kanskje det vil virke vanskelig å bruke i begynnelsen, men øv! Lag prosjektene dine med Maven, og etter en stund vil du være veldig fornøyd med sluttresultatet. Denne artikkelen utelot bevisst mange detaljer om Maven - vi fokuserte på det mest essensielle. Men det er ingen grense for forbedring: du kan lese mer om Maven på dens offisielle nettside . Del 5. Servlets og Java Servlet API. Skrive en enkel nettapplikasjon Del 6. Servlet-beholdere Del 7. Introduserer MVC-mønsteret (Model-View-Controller)
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION