Sprievodca archívom typu Maven

1. Prehľad

Archetyp Maven je abstrakciou určitého druhu projektu, ktorý je možné začleniť do konkrétneho prispôsobeného projektu Maven. V skratke, je to šablóna projektu šablóny, z ktorej sa vytvárajú ďalšie projekty.

Hlavnou výhodou používania archetypov je štandardizácia vývoja projektu a umožnenie vývojárom ľahko dodržiavať osvedčené postupy a rýchlejšie zavádzanie svojich projektov.

V tomto výučbe sa pozrieme na to, ako vytvoriť vlastný archetyp a potom ako ho použiť na vygenerovanie projektu Maven prostredníctvom maven-archetype-plugin.

2. Deskriptor archívneho typu Maven

Deskriptor archetypu Maven je srdcom projektu archetypu. Je to súbor XML s názvom archetype-metadata.xml a nachádza sa v META-INF / maven adresár pohára.

Používa sa na popísanie metadát archetypov:

   bar src / main / java ** / *. java 

The požadované vlastnosti Značka sa používa na poskytovanie vlastností počas generovania projektu. Preto sa zobrazí výzva na zadanie hodnôt pre ne s možnosťou prijať predvolenú hodnotu.

fileSets, na druhej strane sa používajú na konfiguráciu toho, ktoré zdroje sa skopírujú do konkrétneho generovaného projektu. Filtrovaný súbor znamená, že počas procesu generovania budú zástupné symboly nahradené poskytnutými hodnotami.

A použitím packaged = ”true” v fileSet, hovoríme, že vybrané súbory budú pridané do hierarchie priečinkov určenej balíček nehnuteľnosť.

Ak chceme vygenerovať viacmodulový projekt, tak tag modulov môže pomôcť nakonfigurovať všetky moduly vygenerovaného projektu.

Upozorňujeme, že tento súbor sa týka archetypu 2 a vyšších. Vo verzii 1.0.x sa súbor práve volal archetyp.xml a malo to inú štruktúru.

Pre viac informácií si určite pozrite oficiálne dokumenty Apache.

3. Ako vytvoriť archetyp

Archetyp je normálny projekt Maven s nasledujúcim extra obsahom:

  • src / main / resources / archetype-resources je šablóna, z ktorej sa zdroje kopírujú do novovytvoreného projektu
  • src / main / resources / META-INF / maven / archetype-metadata.xml: je deskriptor používaný na popis metadát archetypov

Aby sme archetyp vytvorili manuálne, môžeme začať s novovytvoreným projektom Maven a potom môžeme pridať zdroje uvedené vyššie.

Alebo to môžeme vygenerovať pomocou archetype-maven-plugin, a potom prispôsobiť obsah súboru archetypové zdroje adresár a archetype-metadata.xml spis.

Na vygenerovanie archetypu môžeme použiť:

mvn archetype: generate -B -DarchetypeArtifactId = maven-archetype-archetype \ -DarchetypeGroupId = maven-archetype \ -DgroupId = com.baeldung \ -DartifactId = test-archetyp

Archetyp môžeme vytvoriť aj z existujúceho projektu Maven:

archív typu mvn: vytvorenie projektu

Je generované v cieľ / generované zdroje / archetyp, pripravený na použitie.

Bez ohľadu na to, ako sme vytvorili archetyp, skončíme s nasledujúcou štruktúrou:

archetype-root / ├── pom.xml └── src └── hlavní ├── java └── zdroje ├── archetypové zdroje │ ├── pom.xml │ └── src └── META-INF └── maven └── archetype-metadata.xml

Teraz môžeme začať budovať náš archetyp vložením zdrojov do archetypové zdroje adresár a ich konfigurácia v priečinku archetype-metadata.xml spis.

4. Budovanie archetypu

Teraz sme pripravení prispôsobiť náš archetyp. Pre zvýraznenie tohto procesu si ukážeme vytvorenie jednoduchého archívu typu Maven na generovanie aplikácie RESTful založenej na JAX-RS 2.1.

Len to nazvime maven-archetyp.

4.1. Balenie archetypu

Začnime úpravou pom.xml archetypového projektu umiestneného pod adresár maven-archetype:

maven-archetyp

Tento typ balenia je k dispozícii vďaka archetypové balenie rozšírenie:

   org.apache.maven.archetype balenie archetypu 3.0.1 

4.2. Pridáva sa pom.xml

Vytvorme teraz pom.xml súbor umiestnený pod archetypové zdroje adresár:

 $ {groupId} $ {artifactId} $ {version} war javax.ws.rs javax.ws.rs-api 2.1 poskytnuté 

Ako vidíme, groupId, artifactId a verzia sú parametrizované. Budú nahradené počas vytvárania nového projektu z tohto archetypu.

Môžeme vložiť všetko potrebné do vygenerovaného projektu, ako sú závislosti a doplnky, do pom.xml. Tu sme pridali závislosť JAX RS, pretože archetyp sa použije na generovanie aplikácie založenej na RESTful.

4.3. Pridanie požadovaných zdrojov

Ďalej môžeme do aplikácie pridať nejaký Java kód pre našu aplikáciu archetype-resources / src / main / java.

Trieda na konfiguráciu aplikácie JAX-RS:

balíček $ {balíček}; // import @ApplicationPath ("$ {app-path}") verejná trieda AppConfig rozširuje aplikáciu {}

A trieda pre zdroj ping:

@Path ("ping") verejná trieda PingResource {// ...}

Nakoniec vložte konfiguračný súbor servera, server.xml, v archetype-resources / src / main / config / liberty.

4.4. Konfigurácia metadát

Po pridaní všetkých potrebných zdrojov môžeme teraz nakonfigurovať, ktoré sa budú kopírovať počas generovania cez archetype-metadata.xml spis.

Môžeme povedať svojmu archetypu, že chceme, aby sa kopírovali všetky zdrojové súbory Java:

    src / main / java ** / *. java src / main / config / liberty server.xml 

Tu chceme mať všetky súbory Java od src / main / java adresár a server.xml súbor z src / main / config / liberty, kopírovať.

4.5. Inštalácia archetypu

Teraz, keď sme to všetko spojili, môžeme archetyp nainštalovať vyvolaním tohto príkazu:

inštalácia mvn

V tomto okamihu je archetyp zaregistrovaný v súbore archetype-catalog.xml, umiestnené v miestnom úložisku Maven, a preto pripravené na použitie.

5. Používanie nainštalovaného archetypu

The maven-archetype-plugin umožňuje užívateľovi vytvoriť projekt Maven cez internet generovať cieľ a existujúci archetyp. Viac informácií o tomto doplnku nájdete na domovskej stránke.

Tento príkaz používa tento doplnok na generovanie projektu Maven z nášho archetypu:

mvn archetype: generate -DarchetypeGroupId = com.baeldung.archetypes -DarchetypeArtifactId = maven-archetype -DarchetypeVersion = 1,0-SNAPSHOT -DgroupId = com.baeldung.restful -DartifactId = cool-jaxrs-sample -Dversion = 1,0

Potom by sme mali predložiť GAV nášho archetypu ako argumenty pre maven-archetype-plugin: vygenerovať cieľ. Môžeme tiež odovzdať GAV konkrétneho projektu, ktorý chceme vygenerovať, inak ich môžeme poskytnúť v interaktívnom režime.

Betón cool-jaxrs-vzorka vygenerovaný projekt je preto pripravený na spustenie bez akýchkoľvek zmien. Môžeme ho teda spustiť vyvolaním tohto príkazu:

sloboda balíka mvn: spustiť

Potom môžeme získať prístup k tejto adrese URL:

// localhost: 9080 / cool-jaxrs-sample // ping

6. Záver

V tomto článku sme si predstavili, ako vytvoriť a používať archetyp Maven.

Predviedli sme, ako vytvoriť archetyp a potom ako nakonfigurovať zdroje šablón prostredníctvom servera archetype-metadata.xml spis.

Kód, ako obvykle, nájdete na Githube.


$config[zx-auto] not found$config[zx-overlay] not found