Kaj je Apache Maven? POM, življenjski cikli in upravljanje odvisnosti
Datum objave:
Posodobljeno:
Tehnični članki > Kaj je Apache Maven? POM, življenjski cikli in upravljanje odvisnosti
Stanje in varna uporaba v letu 2026
Bistvo: Maven je konvencijsko zasnovano build orodje za projekte Java. POM določa koordinate projekta, odvisnosti, vtičnike in nastavitve builda; faze življenjskega cikla ekipam omogočajo ponovljivo prevajanje, testiranje, paketiranje, preverjanje in objavo artefaktov.
Kaj boste izvedeli
- Kaj upravlja Maven in kaj še vedno sodi v nadzor različic ali konfiguracijo CI.
- Kako so povezani koordinate POM-a, repozitoriji, vtičniki, faze in obsegi odvisnosti.
- Kako razreševanje odvisnosti razlikovati od celotnega postopka builda.
Komu je članek namenjen? Razvijalcem Java, ki ocenjujejo Maven ali poskušajo razumeti podedovano datoteko pom.xml.
Opomba za leto 2026: Uporabljajte Maven Wrapper, pripnite različice vtičnikov, zaščitite poverilnice za repozitorije in v CI preverite dejanski POM. Spodnji primeri pojasnjujejo osnove; združljivost trenutnih vtičnikov in JDK preverite v uradni dokumentaciji.
Varnostna opomba: Ukazi in konfiguracijski primeri iz prvotnega članka niso bili znova preizkušeni v sodobnem produkcijskem okolju. Pred uporabo v ločenem preizkusnem okolju preverite podprte različice, izdelajte varnostne kopije ter določite nadzor dostopa in postopek povrnitve.
Uradni viri
Pregled
Apache Maven, v nadaljevanju Maven, je build orodje in orodje za upravljanje projektov. Ker ponuja veliko funkcij, njegov celoten namen na prvi pogled ni vedno jasen. Ta vodnik podaja kratek pregled njegovih zmožnosti.
Kazalo vsebine
1. Kaj je Maven?
Maven je build orodje in orodje za upravljanje projektov Java. Če pojma build še ne poznate, najprej preberite naslednji članek.
Kaj pomeni build v Javi? Prevajanje, testiranje in paketiranje
Postopek builda vključuje več opravil, na primer:
- razreševanje odvisnosti knjižnic JAR;
- prevajanje izvorne kode in izvajanje testov;
- določanje izhodne mape za rezultate builda;
- ustvarjanje artefaktov JAR ali WAR.
Maven upravlja ta opravila, povezana s postopkom builda.
Namen projekta je opisan na uradni strani »What is Maven?«.
https://maven.apache.org/what-is-maven.html
Za razumevanje Mavena je najpomembnejši naslednji odlomek iz razdelka »Maven's Objectives«.
Maven’s primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal, Maven deals with several areas of concern:
- Making the build process easy
- Providing a uniform build system
- Providing quality project information
- Encouraging better development practices
Maven torej zagotavlja konvencijski in ponovljiv model za opisovanje in izvajanje builda projekta.
2. Kaj upravlja Maven
Naslednje funkcije Mavena pomagajo ustvariti ponovljivo in vzdrževano okolje za build.
2-1. Opravila življenjskega cikla builda
Faze življenjskega cikla v določenem zaporedju izvedejo nastavljene vtičnike. Pogoste faze so:
- test (prevede kodo in izvede teste);
- clean (odstrani rezultate prejšnjega builda);
- package (ustvari nastavljeni artefakt JAR ali WAR).
2-2. Razreševanje odvisnosti
Maven na podlagi POM samodejno poišče knjižnice, ki jih projekt potrebuje, in njihove prehodne odvisnosti.
Pri tem prebere POM odvisnosti ter uporabi pravila za obseg, izbirnost, izključitve in posredovanje različic. Posameznih datotek JAR zato ni treba iskati in prenašati ročno.
Mehanizem je podrobneje razložen v naslednjem članku.
Kako Maven razrešuje prehodne odvisnosti iz repozitorijev
2-3. Podatki o odvisnostih in obsegi
Deklaracija odvisnosti vsebuje koordinate in različico, njen obseg pa določa, ali je potrebna pri prevajanju, testiranju ali izvajanju.
Datoteka pom.xml vsebuje tudi vtičnike in nastavitve projekta, zato je definicija builda prenosljiva. Ponovljivost je odvisna še od nadzorovanih repozitorijev, pripetih različic vtičnikov, podprtega JDK-ja in usklajenih nastavitev zunaj POM-a.
3. Povzetek
Maven opiše projekt v POM-u in prek vtičnikov izvede konvencijski življenjski cikel. Med opravili so razreševanje odvisnosti, prevajanje, testiranje, paketiranje, preverjanje in objava; natančno vedenje določata efektivni POM in izbrana faza življenjskega cikla.
Pri uporabi v novejšem okolju upoštevajte tudi opombe o različicah in varnosti na začetku članka.