CodeGym /Blog Java /Aleatoriu /Partea 4. Bazele lui Maven
John Squirrels
Nivel
San Francisco

Partea 4. Bazele lui Maven

Publicat în grup
Acest material face parte din seria „Introducere în dezvoltarea întreprinderii”. Articole anterioare: Partea 4. Bazele lui Maven - 1Maven este un instrument pentru gestionarea și construirea proiectelor - un asistent util al unui programator Java. Ușurează viața dezvoltatorilor în fiecare etapă a muncii: de la crearea structurii proiectului și conectarea bibliotecilor necesare până la implementarea produsului pe server. Va trebui să utilizați Maven atunci când lucrați cu orice cadru. Deci, astăzi să aruncăm o privire la principalele sale funcții și să vedem cum să le folosim.

Instalarea pas cu pas a lui Maven

  1. Mai întâi, trebuie să instalăm Maven. Descărcați-l de pe acest link .

  2. Apoi, dezarhivați arhiva descărcată și setați variabila de mediu M2_HOME la locația arhivei dezarhivate. De exemplu, C:\\Program Files\\maven\\

  3. Pentru a vă asigura că totul este instalat, executați următoarele pe linia de comandă:

    mvn -versiune

  4. Dacă se afișează informațiile despre versiune pentru Maven, Java etc., atunci totul este gata.

  5. Acum deschideți IntelliJ IDEA și creați un nou proiect. În prima fereastră, selectați Maven:

    Partea 4. Bazele lui Maven - 2
  6. Faceți clic pe „Următorul” și completați fereastra care apare:

    Partea 4. Bazele lui Maven - 3
  7. Apoi, ca de obicei, creați un proiect oriunde doriți.

    După ce proiectul a fost creat, luați notă de structura acestuia:

    Partea 4. Bazele lui Maven - 4
Aceasta este structura standard a unui proiect Maven :
  • folderul src/main/java conține clasele Java
  • folderul src/main/resources conține resursele utilizate de aplicație (pagini HTML, imagini, foi de stil etc.)
  • folderul src/test este pentru teste
De asemenea, acordați atenție fișierului numit pom.xml . Acesta este fișierul principal pentru gestionarea Maven . Întreaga descriere a proiectului este conținută aici. Nu există prea multe informații în acest moment, dar le vom adăuga acum.

Gestionarea dependențelor în Maven

Este posibil să fi întâlnit expresia „manager de dependență”. Maven știe cum să gestioneze dependențele. Datorită lui Maven, nu trebuie să petreci mult timp căutând pe Internet o bibliotecă necesară, să o descarci și apoi să o conectezi la proiectul tău. În schimb, adăugați biblioteca necesară la lista de dependențe din Maven.

Dependențe sunt specificate în nodul de dependențe al fișierului pom.xml

Să presupunem că aveți nevoie de biblioteca Apache Commons IO în proiectul dvs. pentru a simplifica lucrul cu fișierele. Pentru a adăuga o bibliotecă, scriem cinci rânduri în pom.xml:

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Acum fișierul pom.xml ar trebui să arate astfel:

  <?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>
După aceea, permiteți IntelliJ IDEA să importe dependența (ar trebui să apară un dialog în colțul din dreapta jos). Acum biblioteca este gata de utilizare:

import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Toate dependențele ulterioare trebuie, de asemenea, scrise în interiorul <dependencies>etichetei. S-ar putea să vă întrebați cum să aflați informațiile despre bibliotecă pe care trebuie să le indicați în interiorul etichetei <dependency>. Asta e ușor. Trei parametri trebuie să fie întotdeauna setați: „groupId”, „artifactId” și „version”. Există două moduri de a determina acești parametri:
  1. Pe site-ul bibliotecii. Dacă avem nevoie de biblioteca Apache Commons IO, mergem pe site-ul oficial și selectăm fila „Informații despre dependență”. Toate informațiile necesare sunt aici - puteți să le copiați pur și simplu și să le adăugați la <dependencies>nod.

  2. Într-un depozit Maven . Introduceți „apache commons io” în bara de căutare și veți vedea toate versiunile disponibile ale bibliotecii. După ce ați selectat-o ​​pe cea corectă, copiați pur și simplu următoarele:

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

    și adăugați-l în pom.xml.

Tipuri de depozite Maven

Merită să menționăm din nou depozitele Maven, pentru că de fapt avem două dintre ele: un depozit la distanță (central) și un depozit local (pe computerul tău). Toate bibliotecile pe care le adăugați la proiectele dvs. sunt salvate în depozitul local. Când Maven adaugă o dependență necesară unui proiect, mai întâi verifică dacă biblioteca există deja în depozitul local. Accesează depozitul de la distanță numai dacă nu găsește biblioteca local. După cum puteți vedea, puteți folosi Maven pentru a adăuga dependențe, dar asta nu este tot ce poate face.

Construirea unui proiect Java folosind Maven

Această capacitate poate părea inutilă pentru un începător. De ce avem nevoie de asta dacă avem un IDE? Lasă-mă să explic. În primul rând, serverul pe care trebuie să vă construiți aplicația poate să nu aibă nici un mediu de dezvoltare, nici o interfață grafică. În al doilea rând, în cazul proiectelor mari, Maven face o treabă mai bună în construirea proiectului. Deci, fără adio, vom lua în considerare procesul de construire a unei aplicații folosind Maven.

faze

Procesul de construire a unei aplicații este cunoscut ciclul de viață al unui proiect Maven și constă din faze. Le puteți vedea în IDEA făcând clic pe Maven > exemplu > Ciclu de viață în colțul din dreapta sus: Partea 4. Bazele lui Maven - 5După cum puteți vedea, există 9 faze:
  1. clean — elimină toate fișierele compilate din directorul țintă (locul în care sunt salvate artefactele terminate)
  2. validare — verifică dacă toate informațiile necesare pentru construirea proiectului sunt prezente
  3. compile — compilează fișierele de cod sursă
  4. test — începe testele
  5. pachet — pachete fișiere compilate (într-o arhivă JAR, WAR etc.)
  6. verifica — verifică dacă fișierul ambalat este gata
  7. install — plasează pachetul în depozitul local. Acum poate fi folosit de alte proiecte ca bibliotecă externă
  8. site — creează documentația proiectului
  9. deploy — copiază arhiva construită în depozitul de la distanță
Toate fazele sunt efectuate secvenţial: de exemplu, a patra fază nu poate fi începută până când fazele 1-3 nu sunt finalizate. Există două moduri de a începe o fază:
  • prin linia de comandă:

    pachet mvn

    Partea 4. Bazele lui Maven - 6
  • folosind IntelliJ IDEA:

    Partea 4. Bazele lui Maven - 7

    Înainte de începerea fazei de pachet, sunt efectuate fazele de validare, compilare și testare. Faza curată este o excepție. Este o idee bună să rulați această fază înainte de fiecare construcție a proiectului. Puteți enumera mai multe faze, separându-le cu spații:

    pachet mvn curat.

De asemenea, fiecare fază are pre- și post-faze: de exemplu, pre-deploy, post-deploy, pre-clean, post-clean, etc. dar sunt folosite destul de rar. În plus, fiecare fază are obiective. Obiectivele standard sunt setate în mod implicit. Obiectivele suplimentare sunt adăugate de pluginurile Maven. Uneori, în timpul unei faze, poate fi necesar să efectuați funcții suplimentare. Există pluginuri Maven pentru asta. O listă a pluginurilor oficiale poate fi găsită pe site-ul web Maven . Dar ar trebui să știți că există multe pluginuri personalizate care pot fi găsite pe site-uri web ale terților. Și, desigur, dacă apare o nevoie exotică, puteți oricând să scrieți singur un plug-in personalizat .

Pluginuri

Pentru a adăuga un plugin Maven la proiect, trebuie să adăugăm descrierea acestuia în fișierul pom.xml, folosind <build>și <plugins>etichete, similar cu modul în care am adăugat dependențe. De exemplu, să presupunem că avem nevoie de un plugin pentru a verifica dacă folosim cea mai recentă versiune a tuturor bibliotecilor noastre externe. După câteva căutări pe Internet, puteți găsi acest plugin și instrucțiuni despre cum să îl utilizați. Să setăm groupId, artefactId și versiune. Vom indica ce obiective trebuie să îndeplinească pluginul și în ce fază. În cazul nostru, verificarea dependenței în pom.xml curent este setat să aibă loc în timpul fazei de validare. Acum fișierul nostru pom.xml arată astfel:

<?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>
Am putea continua să lucrăm la proiectul nostru. Dar să încercăm să schimbăm versiunea Apache Commons IO la 2.0 și să construim proiectul. Vom lua

[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]
Aici avem o eroare de compilare generată de plugin. Mesajul de eroare afirmă că folosim versiunea 2.0 când versiunea 2.6 este disponibilă. Practic, Maven este un instrument foarte util. Poate că va părea dificil de folosit la început, dar practică! Creați-vă proiectele folosind Maven și, după un timp, veți fi foarte mulțumit de rezultatul final. Acest articol a omis în mod deliberat o mulțime de detalii despre Maven - ne-am concentrat pe cele mai esențiale. Dar nu există limită pentru îmbunătățire: puteți citi mai multe despre Maven pe site-ul său oficial . Partea 5. Servlet-uri și API-ul Java Servlet. Scrierea unei aplicații web simplă Partea 6. Containere servlet Partea 7. Prezentarea modelului MVC (Model-View-Controller)
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION