Sprievodca profilmi Maven

1. Prehľad

Profily Maven možno použiť na vytvorenie prispôsobených konfigurácií zostavy, napríklad zacielenie na úroveň podrobností testu alebo konkrétne prostredie nasadenia.

V tomto tutoriále sa dozvieme, ako pracovať s profilmi Maven.

2. Základný príklad

Normálne keď bežíme balíček mvn, sa vykonajú jednotkové testy tiež. ale čo ak chceme rýchlo zabaliť artefakt a spustiť ho či to funguje?

Najskôr vytvoríme a žiadne testy profil, ktorý nastavuje maven.test.skip majetok do pravda:

 žiadne testy pravdivé 

Ďalej vykonáme profil spustením balíček mvn -Pno-testy príkaz. Teraz je artefakt vytvorený a testy sú preskočené. V tomto prípade balíček mvn -Dmaven.test.skip velenie by bolo jednoduchšie.

Bol to však iba úvod do profilov Maven. Poďme sa pozrieť na niektoré zložitejšie nastavenia.

3. Deklarovanie profilov

V predchádzajúcej časti sme videli, ako vytvoriť jeden profil. Môžeme nakonfigurovať toľko profilov, koľko chceme poskytnutím jedinečných identifikačných údajov.

Povedzme, že sme chceli vytvoriť profil, ktorý spustil iba naše integračné testy a ďalší pre množinu mutačných testov.

Začali by sme zadaním znaku id pre každého z nás pom.xml spis:

  integračné testy mutačné testy 

V rámci každého profilu element, môžeme nakonfigurovať veľa prvkov ako napr závislosti, doplnky, zdrojov, finalName.

Pre vyššie uvedený príklad by sme teda mohli pridať doplnky a ich závislosti osobitne pre integračné testy a mutačné testy.

Vďaka rozdeleniu testov na profily môže byť predvolené zostavenie rýchlejšie tým, že sa zameria napríklad na jednotkové testy.

3.1. Rozsah profilu

Teraz sme práve umiestnili tieto profily do nášho pom.xml súbor, ktorý ich deklaruje iba pre náš projekt.

V Maven 3 však môžeme profily skutočne pridať na ktorékoľvek z troch umiestnení:

  1. Profily špecifické pre projekt idú do projektu pom.xml spis
  2. Profily špecifické pre používateľa idú do profilu používateľa nastavenia.xml spis
  3. Globálne profily idú do globálu nastavenia.xml spis

Upozorňujeme, že Maven 2 skutočne podporoval štvrté umiestnenie, ale toto bolo v Maven 3 odstránené.

Snažíme sa konfigurovať profily v pom.xml kedykoľvek je to možné. Dôvod je ten, že chceme profily použiť na našich vývojových strojoch aj na zostavovacích strojoch. Pomocou nastavenia.xml je náročnejšia a náchylnejšia na chyby, pretože si ju musíme sami distribuovať v prostrediach na vytváranie.

4. Aktivácia profilov

Potom, čo vytvoríme jeden alebo viac profilov môžeme ich začať používať, alebo inak povedané, aktivačný ich.

4.1. Zobrazenie aktívnych profilov

Použime help: active-profiles cieľom zistiť, ktoré profily sú aktívne v našej predvolenej zostave:

Pomocník mvn: active-profiles

Vlastne, keďže sme zatiaľ nič neaktivovali, dostaneme:

Aktívne sú nasledujúce profily:

No nič.

Aktivujeme ich za chvíľu. Ďalším spôsobom, ako zistiť, čo je aktivované, je však rýchlo zahrnúť maven-help-plugin v našom pom.xml a priviazať aktívne profily cieľ do zostaviť fáza:

   org.apache.maven.plugins maven-help-plugin 3.2.0 show-profiles kompiluje aktívne-profily 

Teraz ich poďme používať! Pozrime sa na niekoľko rôznych spôsobov.

4.2. Použitím -P

V skutočnosti sme už na začiatku videli jednu cestu, ktorou je, že môžeme aktivovať profily pomocou -P argument.

Začnime teda povolením integračný test profil:

balíček mvn -P integračné testy

Ak overíme aktívne profily, pomocou maven-help-plugin alebo Pomocník mvn: active-profiles -P integration-tests príkaz dostaneme nasledujúci výsledok:

Aktívne sú nasledujúce profily: - integrácia-testy

V prípade, že chceme aktivovať viac profilov súčasne, použijeme zoznam profilov oddelených čiarkou:

balíček mvn -P integračné testy, mutačné testy

4.3. Predvolene aktívne

Ak chceme profil vždy vykonať, môžeme ho predvolene aktivovať:

 integračné testy pravdivé 

Potom môžeme bežať balíček mvn bez uvedenia profilov a môžeme overiť, že integračný test profil je aktívny.

Ak však spustíme príkaz Maven a povolíme iný profil ako activeByDefault profil je preskočený. Takže keď bežíme balíček mvn -P mutačné testy potom iba mutačné testy profil je aktívny.

Keď aktivujeme inými spôsobmi, activeByDefault profil sa tiež preskočí, ako uvidíme v ďalších častiach.

4.4. Na základe nehnuteľnosti

Profily môžeme aktivovať na príkazovom riadku. Niekedy je však pohodlnejšie, ak sa aktivujú automaticky. Napríklad môžeme to založiť na a -D vlastnosť systému:

 prostredie aktívneho na majetku 

Teraz profil aktivujeme pomocou balíček mvn -Životné prostredie príkaz.

Je tiež možné aktivovať profil, ak nie je k dispozícii vlastníctvo:

 ! prostredie 

Alebo môžeme aktivovať profil ak má nehnuteľnosť konkrétnu hodnotu:

 test prostredia 

Teraz môžeme profil spustiť pomocou balíček mvn - Prostredie = test.

Nakoniec môžeme profil aktivovať, ak má nehnuteľnosť inú hodnotu, ako je zadaná hodnota:

 test životného prostredia! 

4.5. Založený na JDK Verzia

Ďalšou možnosťou je povoliť profil založený na JDK bežiacom na stroji. V takom prípade chceme profil povoliť, ak verzia JDK začína číslom 11:

 active-on-jdk-11 11 

Môžeme tiež použiť rozsahy pre verziu JDK, ako je vysvetlené v syntaxi rozsahu rozsahu Maven.

4.6. Na základe operačného systému

Prípadne môžeme profil aktivovať na základe niektorých informácií o operačnom systéme.

A ak si tým nie sme istí, môžeme najskôr použiť MVN Enforcer: display-info príkaz, ktorý dáva na mojom počítači nasledujúci výstup:

Verzia Maven: 3.5.4 Verzia JDK: 11.0.2 normalizovaná ako: 11.0.2 Informácie o OS: Arch: amd64 Rodina: windows Názov: windows 10 Verzia: 10.0

Potom môžeme nakonfigurovať profil, ktorý sa aktivuje iba v systéme Windows 10:

 active-on-windows-10 windows 10 Windows amd64 10.0 

4.7. Na základe súboru

Ďalšou možnosťou je spustenie profilu ako spis existuje alebo je chýba.

Vytvorme teda testovací profil, ktorý sa vykoná, iba ak testreport.html zatiaľ nie je prítomný:

  target / testreport.html 

5. Deaktivácia profilu

Videli sme veľa spôsobov, ako aktivovať profily, ale niekedy je potrebné aj jeden deaktivovať.

Na deaktiváciu profilu môžeme použiť znak „!“ alebo ‘-‘.

Zakázať teda active-on-jdk-11 profil vykonávame kompilácia mvn -P -active-on-jdk-11 príkaz.

6. Záver

V tomto článku sme videli, ako pracovať s profilmi Maven, aby sme mohli vytvárať rôzne konfigurácie zostavenia.

Profily pomáhajú vykonávať konkrétne prvky zostavy, keď ich potrebujeme. Toto optimalizuje náš proces vytvárania a pomáha vývojárom poskytovať rýchlejšiu spätnú väzbu.

Pokojne sa pozrite na hotové pom.xml súbor znova na GitHub.


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