Ce este pom.xml (Project Object Model)? Exemplu de pom.xml pe care să îl utilizați în proiectul dvs. web dinamic (Java / J2EE)

Publicat: 2021-06-25
Ce este pom.xml (Project Object Model)? Exemplu de pom.xml pe care să îl utilizați în proiectul dvs. web dinamic

Ce este fișierul pom.xml?

POM înseamnă Project Object Model . Este o unitate fundamentală de lucru în Maven. Fișierul pom.xml conține toate instrucțiunile de configurare, dependențe, integrarea pluginului și configurarea proiectului.

Acesta este cel mai bun mod de a adăuga orice dependențe de bibliotecă în proiectul dvs. Copierea fișierelor .jar în folderul de resurse ale proiectului este un mod vechi de a face acest lucru

Să înțelegem fișierul pom.xml în detalii.

Cel mai simplu fișier pom.xml implicit

Să trecem peste elementele pom.xml:

Element Descriere
proiect Elementul este rădăcina descriptorului. Următorul tabel listează toate elementele secundare posibile.
modelVersion Declara cu ce versiune a descriptorului de proiect se conformează acest POM. Setați versiunea 4.0.0.
groupId Un identificator unic universal pentru un proiect. Este normal să folosiți un nume de pachet complet calificat pentru a-l deosebi de alte proiecte cu un nume similar (de ex. org.apache.maven).
artefactId Identificatorul acestui artefact, care este unic în cadrul grupului, dat de ID-ul grupului. Un artefact este ceva care este fie produs, fie utilizat de un proiect. Exemple de artefacte produse de Maven pentru un proiect includ: JAR-uri, distribuții sursă și binare și WAR-uri.
versiune Versiunea actuală a artefactului produs de acest proiect.
înțelegeți elementele pom.xml

pom.xml cu elemente suplimentare

fișier pom.xml cu mai multe elemente:

Element Descriere
ambalaj Tipul de artefact pe care îl produce acest proiect, de exemplu borcan de război pentru ureche. Pluginurile își pot crea propriile ambalaje și, prin urmare, propriile tipuri de ambalaje, astfel încât această listă nu conține toate tipurile posibile.
Nume Numele complet al proiectului.
url URL-ul către pagina de pornire a proiectului.
dependențe Acest element descrie toate dependențele asociate unui proiect. Aceste dependențe sunt folosite pentru a construi o cale de clasă pentru proiectul dvs. în timpul procesului de construire. Acestea sunt descărcate automat din depozitele definite în acest proiect.
dependenţă Grupul de proiect care a produs dependența, de exemplu org.apache.maven.
construi Informații necesare pentru realizarea proiectului.
sourceDirectory Acest element specifică un director care conține sursa proiectului. Sistemul de compilare generat va compila sursa în acest director atunci când proiectul este construit. Calea dată este relativă la descriptorul de proiect.
finalName Numele fișierului (excluzând extensia și fără informații despre cale) pe care va fi apelat artefactul produs. Valoarea implicită este ${artifactId}-${version}.
pluginuri Lista de pluginuri de utilizat.
conecteaza ID-ul de grup al pluginului din depozit.
domeniul de aplicare Sfera dependenței – compilare, runtime, testare, sistem și furnizate. Folosit pentru a calcula diferitele căi de clasă utilizate pentru compilare, testare și așa mai departe. De asemenea, ajută la determinarea artefactelor care trebuie incluse într-o distribuție a acestui proiect.

Am publicat peste 700 de tutoriale Java pe Crunchify și folosim fișiere pom.xml de la început, inclusiv dependențele Spring MVC.

În ultimii câțiva ani, din cauza adăugării din ce în ce mai multe dependențe de bibliotecă, fișierul tutorial Java pom.xml al lui Crunchify este mai mare acum

Iată fișierul nostru actual pom.xml pentru referință. Dacă îl copiați și îl adăugați în proiect, atunci asta funcționează și pentru dvs.

pom.xml pe care îl folosim pentru tutorialele Java de la Crunchify

Sper că acest lucru clarifică ce este fișierul pom.xml și de ce îl folosim în orice proiect J2EE al Java.

Anunțați-mă dacă mai aveți întrebări.

Actualizați Log4j la cea mai recentă versiune

CVE-2021-44228: Apache Log4j2 <=2.14.1 Caracteristicile JNDI utilizate în configurare, mesajele de jurnal și parametrii nu protejează împotriva LDAP controlat de atacator și a altor puncte finale legate de JNDI.

Din log4j 2.16.0, acest comportament a fost dezactivat implicit.