CodeGym /Java blog /Tilfældig /Del 4. Det grundlæggende i Maven
John Squirrels
Niveau
San Francisco

Del 4. Det grundlæggende i Maven

Udgivet i gruppen
Dette materiale er en del af serien "Introduktion til virksomhedsudvikling". Tidligere artikler: Del 4. Det grundlæggende i Maven - 1Maven er et værktøj til at styre og bygge projekter - en Java-programmørs hjælpsomme assistent. Det gør livet lettere for udviklere i alle faser af arbejdet: fra at skabe projektstrukturen og forbinde de nødvendige biblioteker til at implementere produktet på serveren. Du bliver nødt til at bruge Maven, når du arbejder med ethvert framework. Så lad os i dag tage et kig på dets hovedfunktioner og se, hvordan man bruger dem.

Trin-for-trin installation af Maven

  1. Først skal vi installere Maven. Download det fra dette link .

  2. Udpak derefter det downloadede arkiv og sæt miljøvariablen M2_HOME til placeringen af ​​det udpakkede arkiv. For eksempel, C:\\Program Files\\maven\\

  3. For at sikre, at alt er installeret, skal du udføre følgende på kommandolinjen:

    mvn -version

  4. Hvis versionsoplysningerne for Maven, Java osv. vises, er alt klar til at gå.

  5. Åbn nu IntelliJ IDEA og opret et nyt projekt. I det første vindue skal du vælge Maven:

    Del 4. Det grundlæggende i Maven - 2
  6. Klik på "Næste" og udfyld vinduet, der vises:

    Del 4. Det grundlæggende i Maven - 3
  7. Så lav som sædvanlig et projekt, hvor du vil.

    Når projektet er blevet oprettet, skal du notere dets struktur:

    Del 4. Det grundlæggende i Maven - 4
Dette er standardstrukturen for et Maven-projekt :
  • mappen src /main/java indeholder Java-klasserne
  • mappen src/main/resources indeholder de ressourcer, der bruges af applikationen (HTML-sider, billeder, typografiark osv.)
  • src /test- mappen er til test
Vær også opmærksom på filen kaldet pom.xml . Dette er hovedfilen til at administrere Maven . Hele projektbeskrivelsen findes her. Der er ikke for meget information i øjeblikket, men vi tilføjer det nu.

Håndtering af afhængigheder i Maven

Du er måske stødt på udtrykket "afhængighedsleder". Maven ved, hvordan man håndterer afhængigheder. Takket være Maven behøver du ikke bruge meget tid på at søge på internettet efter et påkrævet bibliotek, downloade det og derefter forbinde det til dit projekt. I stedet tilføjer du bare det nødvendige bibliotek til listen over afhængigheder i Maven.

Afhængigheder er angivet i afhængighedsnoden i pom.xml-filen

Lad os sige, at du har brug for Apache Commons IO-biblioteket i dit projekt for at forenkle arbejdet med filer. For at tilføje et bibliotek skriver vi fem linjer i pom.xml:

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Nu skulle din pom.xml-fil se sådan ud:

  <?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>
Tillad derefter IntelliJ IDEA at importere afhængigheden (en dialogboks skulle vises i nederste højre hjørne). Nu er biblioteket klar til brug:

import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Alle efterfølgende afhængigheder skal også skrives inde i <dependencies>tagget. Du undrer dig måske over, hvordan du finder ud af de oplysninger om biblioteket, som du skal angive inde i tagget <dependency>. Det er nemt. Tre parametre skal altid indstilles: "groupId", "artifactId" og "version". Der er to måder at bestemme disse parametre på:
  1. På bibliotekets hjemmeside. Hvis vi har brug for Apache Commons IO-biblioteket, går vi til den officielle hjemmeside og vælger fanen "Afhængighedsoplysninger". Alle de nødvendige oplysninger er her - du kan blot kopiere dem og tilføje dem til noden <dependencies>.

  2. I et Maven-depot . Indtast "apache commons io" i søgefeltet, og du vil se alle tilgængelige versioner af biblioteket. Når du har valgt den rigtige, skal du blot kopiere følgende:

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

    og tilføj det til din pom.xml.

Typer af Maven-depoter

Det er umagen værd for os at nævne Maven-depoter igen, fordi vi faktisk har to af dem: et eksternt (centralt) lager og et lokalt (på din computer) lager. Alle biblioteker, som du tilføjer til dine projekter, gemmes i det lokale lager. Når Maven tilføjer en påkrævet afhængighed til et projekt, kontrollerer den først, om biblioteket allerede eksisterer i det lokale lager. Den får kun adgang til fjernlageret, hvis den ikke finder biblioteket lokalt. Som du kan se, kan du bruge Maven til at tilføje afhængigheder, men det er ikke alt, den kan.

Opbygning af et Java-projekt ved hjælp af Maven

Denne evne kan virke meningsløs for en nybegynder. Hvorfor har vi brug for dette, hvis vi har en IDE? Lad mig forklare. For det første har serveren, hvor du skal bygge din applikation, muligvis hverken et udviklingsmiljø eller en grafisk grænseflade. For det andet, på store projekter, gør Maven et bedre stykke arbejde med at bygge projektet. Så uden yderligere adieu vil vi overveje processen med at bygge en applikation ved hjælp af Maven.

Faser

Processen med at bygge en applikation er kendt for et Maven-projekts livscyklus, og den består af faser. Du kan se dem i IDEA ved at klikke på Maven > eksempel > Livscyklus i øverste højre hjørne: Del 4. Det grundlæggende i Maven - 5Som du kan se, er der 9 faser:
  1. clean — fjerner alle kompilerede filer fra målbiblioteket (det sted, hvor færdige artefakter gemmes)
  2. validere — kontrollerer, om alle de nødvendige oplysninger for at bygge projektet er til stede
  3. kompiler — kompilerer kildekodefiler
  4. test — starter test
  5. pakke — pakker kompilerede filer (i et JAR, WAR, etc. arkiv)
  6. verify — kontrollerer, om den pakkede fil er klar
  7. installer — placerer pakken i det lokale lager. Nu kan det bruges af andre projekter som et eksternt bibliotek
  8. websted — opretter projektdokumentation
  9. deploy — kopierer det indbyggede arkiv til fjernlageret
Alle faser udføres sekventielt: F.eks. kan den fjerde fase ikke startes, før fase 1-3 er afsluttet. Der er to måder at starte en fase på:
  • gennem kommandolinjen:

    mvn pakke

    Del 4. Det grundlæggende i Maven - 6
  • bruger IntelliJ IDEA:

    Del 4. Det grundlæggende i Maven - 7

    Før pakkefasen starter, udføres validerings-, kompilerings- og testfaserne. Den rene fase er en undtagelse. Det er en god idé at køre denne fase før hver opbygning af projektet. Du kan angive flere faser, adskille dem med mellemrum:

    mvn ren pakke.

Hver fase har også præ- og efterfaser: for eksempel pre-deploy, post-deploy, pre-clean, post-clean osv., men de bruges ret sjældent. Derudover har hver fase mål. Standardmål er angivet som standard. Yderligere mål tilføjes af Maven-plugins. Nogle gange i løbet af en fase skal du muligvis udføre yderligere funktioner. Der er Maven-plugins til dette. En liste over officielle plugins kan findes på Mavens websted . Men du skal vide, at der er mange brugerdefinerede plugins, der kan findes på tredjepartswebsteder. Og selvfølgelig, hvis et eksotisk behov opstår, kan du altid selv skrive et tilpasset plug-in .

Plugins

For at tilføje et Maven-plugin til projektet, skal vi tilføje dets beskrivelse til pom.xml-filen ved hjælp af <build>og <plugins>tags, svarende til hvordan vi tilføjede afhængigheder. Antag for eksempel, at vi har brug for et plugin for at bekræfte, at vi bruger den nyeste version af alle vores eksterne biblioteker. Efter lidt søgning på internettet kunne du finde dette plugin og instruktioner om, hvordan du bruger det. Lad os indstille groupId, artefactId og version. Vi angiver, hvilke mål pluginnet skal opfylde og i hvilken fase. I vores tilfælde er afhængighedskontrollen i den aktuelle pom.xml indstillet til at ske under valideringsfasen. Nu ser vores pom.xml-fil sådan ud:

<?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 fortsætte med at arbejde på vores projekt. Men lad os prøve at ændre versionen af ​​Apache Commons IO til 2.0 og bygge projektet. 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 byggefejl genereret af plugin'et. Fejlmeddelelsen angiver, at vi bruger version 2.0, når version 2.6 er tilgængelig. Grundlæggende er Maven et meget nyttigt værktøj. Måske vil det virke svært at bruge i starten, men øv dig! Opret dine projekter ved hjælp af Maven, og efter et stykke tid vil du være meget tilfreds med slutresultatet. Denne artikel har bevidst udeladt en masse detaljer om Maven - vi fokuserede på det mest væsentlige. Men der er ingen grænse for forbedring: du kan læse mere om Maven på dens officielle hjemmeside . Del 5. Servlets og Java Servlet API. Skrivning af en simpel webapplikation Del 6. Servlet-beholdere Del 7. Introduktion til MVC (Model-View-Controller) mønsteret
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION