CodeGym/Curs Java/Modulul 3/Creați un proiect Maven

Creați un proiect Maven

Disponibil

Descrierea proiectului Model obiect

Unul dintre lucrurile pe care Maven le-a standardizat în primul rând a fost descrierea proiectului. Înainte de Maven, fiecare IDE avea propriul fișier de proiect, care stoca informații despre proiect și asamblarea acestuia (și adesea în formă binară).

Maven a venit cu un standard deschis, universal, bazat pe XML, care descrie ce este un proiect, cum ar trebui să fie construit și ce dependențe are folosind diverse etichete. Descrierea proiectului este conținută într-un singur fișier, de obicei numit pom.xml .

Un exemplu de fișier pom.xml :

<?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>exemplu</artifactId>
   <version>1.0-SNAPSHOT</version>

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


</project>

Acest exemplu are trei lucruri scrise:

  • Informațiile despre versiunea standardului proiectului Maven sunt albastre.
  • Informațiile despre proiect în sine sunt în roșu.
  • Informațiile despre bibliotecile folosite sunt de culoare verde.

Să aruncăm o privire mai atentă asupra dispozitivului cu fișiere pom.

Structura proiectului Maven

Și imediat întrebarea este: ai fost atent la ciudățenia din ultimul exemplu? Nu conține informații despre codul proiectului în sine! Nu există niciun cuvânt despre unde sunt stocate fișierele java, resursele, fișierele de proprietăți, html, scripturile de compilare și altele asemenea.

Și răspunsul este simplu - Maven a standardizat designul proiectului. Există mai multe opțiuni pentru organizarea codului în cadrul unui proiect, iar cea mai comună este:

Structura este puțin neobișnuită după proiectele standard IDEA, dar pentru asta este universală. 90% dintre proiectele pe care le vei întâlni în viața ta vor avea această structură de foldere .

Dacă creați un proiect Maven (folosind IDEA sau folosind consola), atunci acesta va lua forma specificată. Să vedem cum funcționează totul aici.

Folderul src , ați ghicit, conține codul sursă pentru proiect. Are două subfoldere: principal și test .

Dosarul /src/main/java este rădăcina pentru toate clasele Java din proiect. Dacă aveți o clasă com.codegym.Cat, atunci aceasta va fi în folderul /src/main/java /com/codegym /Cat.java . Dacă există resurse text sau binare, acestea ar trebui să fie stocate în folderul /src/main/resources .

Structura folderului /src/test este similară cu structura folderului /src/main , dar conține testele și resursele acestora. Maven însuși știe cum să ruleze testele necesare atunci când construiește un proiect, dar vom vorbi despre asta într-o prelegere separată.

Există, de asemenea, un folder /target în proiect , unde Maven va salva proiectul după ce este construit. Deoarece proiectele mari au adesea scripturi de compilare non-triviale, nimic nu este stocat în acest folder.

Al doilea scop al folderului /target este de a stoca în cache rezultatele intermediare ale versiunii. Când construiește un proiect mare, Maven poate reconstrui doar acea parte a acestuia care s-a schimbat, grărind astfel timpul de construcție de câteva ori.

Ei bine, ca o cireașă pe tort - la rădăcina proiectului se află fișierul pom.xml. Conține toate informațiile necesare despre proiect, despre care vom discuta mai jos.

Dispozitiv pom.xml

Pentru început, fișierul pom este xml, deci conține anteturile standard și informațiile despre spațiile de nume. Este vorba despre standardul pur XML, așa că nu vom vorbi despre el în detaliu. Înseamnă asta:

<?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">

        …

</proiect>

De asemenea, de obicei prima linie din interiorul etichetei <project> este o descriere a versiunii standardului pom-file. Aproape întotdeauna este 4.0. Nici asta nu ne interesează.

Primele rânduri care ne interesează arată astfel:

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.sample.app</groupId>
  <artifactId>aplicație nouă</artifactId>
  <version>1.0-SNAPSHOT</version>

Pentru a nu înțelege încă o dată ceea ce descriem (program, proiect, modul, bibliotecă etc.) în standardul Maven, totul se numește cuvântul artefact . Ceea ce nu poți refuza creatorilor lui Maven este dragostea pentru standardizare.

Cele trei etichete pe care le vedeți înseamnă:

  • groupId - pachetul căruia îi aparține aplicația, cu adăugarea numelui de domeniu;
  • artefactId – cheie unică șir (id de proiect);
  • versiune - versiunea proiectului.

Acești trei parametri sunt suficienți pentru a descrie fără ambiguitate orice artefact .

În plus, după descrierea proiectului, există de obicei o listă de artefacte (biblioteci) pe care le folosește proiectul. Arata cam asa:

   <dependencies>

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

   </dependencies>

În acest exemplu, adăugăm biblioteca commons-io din pachetul commons-io, versiunea 2.6, la proiectul nostru.

În timpul construirii, Maven va găsi o astfel de bibliotecă în depozitul său global și o va adăuga la proiectul dumneavoastră. Și apropo, nu numai Maven poate face asta.

Cum funcționează IDEA cu Maven

Intellij IDEA este excelent la lucrul cu Maven. Ea știe să deschidă astfel de proiecte, să le creeze ea însăși, să ruleze diverse scripturi de construcție și să înțeleagă perfect bibliotecile incluse.

Are chiar și propriul său Maven încorporat de ceva timp, dar tot trebuie să îl puteți instala și configura singur, așa că această caracteristică a IDEA nu a fost menționată mai devreme. În teorie, IDEA poate avea un conflict între doi Mavens, așa că e bine să știi că sunt doi.

Cum să creați un nou proiect Maven în IDEA:

Faceți clic pe meniul Fișiere > Proiect nou. Selectați elementul de meniu Proiect nou din stânga .

proiect maven

Să clarificăm câteva puncte:

  1. Denumirea proiectului;
  2. Dosar pentru proiect;
  3. Limbajul proiectului este Java;
  4. Tipul de proiect este Maven.

În secțiunea Setări avansate din partea de jos, IDEA vă va solicita să specificați ID-ul grupului, ID-ul artefactului și versiunea noului nostru proiect. Aceste date pot fi întotdeauna modificate cu ușurință ulterior. Alegeți dintre cele sugerate sau introduceți-le pe ale dvs.:

Proiectul Maven 2

Apoi, creați în mod standard un proiect în locația necesară. Ca rezultat, vedem structura:

Proiectul Maven 3

Clasele și pachetele trebuie create în folderul java, despre asta am vorbit deja. Și cred că te poți descurca cu ușurință. Suntem gata să mergem mai departe, dar să ne întoarcem puțin înapoi, la o problemă importantă pe care am „sărit” puțin.

Comentarii
  • Popular
  • Nou
  • Vechi
Trebuie să fii conectat pentru a lăsa un comentariu
Această pagină nu are încă niciun comentariu