Útmutató a Maven-profilokhoz

1. Áttekintés

A Maven profilokkal testreszabott összeállítási konfigurációk hozhatók létre, például a teszt részletességének vagy egy speciális telepítési környezetnek a célzása.

Ebben az oktatóanyagban megtudhatjuk, hogyan kell működni a Maven profilokkal.

2. Egy alap példa

Normális esetben amikor futunk mvn csomag, az egység teszteket végrehajtják is. De mi van, ha gyorsan szeretnénk csomagolni a műtárgyat és futtatni hogy működik-e?

Először létrehozunk egy tesztek nélkül profil, amely beállítja a maven.test.skip tulajdonhoz igaz:

 no-tesztek igaz 

Ezután a profilt a. Futtatásával hajtjuk végre mvn csomag -Pno-tesztek parancs. Most létrejön a műtárgy, és a tesztek kihagyásra kerülnek. Ebben az esetben a mvn csomag -Dmaven.test.skip parancs könnyebb lett volna.

Ez azonban csak bevezetés volt a Maven profilokba. Vessünk egy pillantást néhány összetettebb beállításra.

3. Profilok deklarálása

Az előző szakaszban láttuk, hogyan lehet egy profilt létrehozni. Konfigurálhatunk annyi profilt, amennyit csak akarunk egyedi azonosítók megadásával.

Tegyük fel, hogy egy olyan profilt akartunk létrehozni, amely csak az integrációs tesztjeinket futtatta, és egy másikat mutációs tesztek számára.

Kezdjük azzal, hogy megadunk egy id mindegyikünk számára pom.xml fájl:

  integrációs tesztek mutációs tesztek 

Mindegyiken belül profil elem, sok elemet konfigurálhatunk, mint pl függőségek, bővítmények, erőforrások, finalName.

Tehát a fenti példához külön hozzáadhatnánk a beépülő modulokat és azok függőségeit integrációs tesztek és mutációs tesztek.

A tesztek profilokra bontása gyorsabbá teheti az alapértelmezett összeállítást, ha mondjuk csak az egység tesztjeire összpontosít.

3.1. Profil hatóköre

Most ezeket a profilokat helyeztük el pom.xml fájl, amely csak a projektünkhöz deklarálja őket.

De a Maven 3-ban valójában profilokat adhatunk a három helyszín bármelyikéhez:

  1. A projekt-specifikus profilok a projektbe kerülnek pom.xml fájl
  2. A felhasználóspecifikus profilok a felhasználó profiljába kerülnek settings.xml fájl
  3. A globális profilok világméretűek settings.xml fájl

Ne feledje, hogy a Maven 2 valóban támogatott egy negyedik helyet, de ezt a Maven 3-ban eltávolították.

Megpróbáljuk konfigurálni a profilokat a pom.xml amikor csak lehetséges. Ennek oka az, hogy a profilokat mind a fejlesztő gépeinken, mind az építő gépeken szeretnénk használni. Használni a settings.xml nehezebb és hibára hajlamosabb, mivel magunknak kell elosztanunk az építési környezetek között.

4. Profilok aktiválása

Miután létrehoztunk egy vagy több profilt elkezdhetjük használni őket, vagy más szavakkal, aktiváló őket.

4.1. Az aktív profilok megtekintése

Használjuk a help: active-profiles cél, hogy lássa, mely profilok aktívak alapértelmezett összeállításunkban:

mvn help: aktív profilok

Valójában, mivel még nem aktiváltunk semmit, a következőket kapjuk:

A következő profilok aktívak:

Nos, semmi.

Egy pillanat alatt aktiváljuk őket. De gyorsan meg lehet nézni, hogy mi aktiválódik tartalmazza a maven-help-plugin miénkben pom.xml és kösd meg a aktív profilok cél a összeállítani fázis:

   org.apache.maven.plugins maven-help-plugin 3.2.0 show-profilok aktív profilokat állítanak össze 

Most kezdjük el használni őket! Megnézünk néhány különböző módszert.

4.2. Használata -P

Valójában az elején már láttunk egy utat, hogy tudunk aktiválja a profilokat a -P érv.

Kezdjük tehát a integrációs teszt profil:

mvn csomag -P integrációs tesztek

Ha ellenőrizzük az aktív profilokat, akkor a maven-help-plugin vagy a mvn help: aktív profilok -P integrációs tesztek paranccsal a következő eredményt kapjuk:

A következő profilok aktívak: - integrációs tesztek

Abban az esetben, ha egyszerre több profilt akarunk aktiválni, vesszővel elválasztott profillistát használunk:

mvn csomag -P integrációs tesztek, mutációs tesztek

4.3. Alapértelmezés szerint aktív

Ha mindig profilt akarunk végrehajtani, akkor alapértelmezés szerint aktiválhatjuk azt:

 integrációs tesztek igazak 

Akkor futhatunk mvn csomag anélkül, hogy megadná a profilokat, és ellenőrizhetjük, hogy a integrációs teszt profil aktív.

Ha azonban a Maven parancsot futtatjuk, és más profilt engedélyezünk, mint a activeByDefault profil kihagyásra kerül. Tehát amikor futunk mvn csomag -P mutációs tesztek akkor csak a mutációs tesztek profil aktív.

Ha más módon aktiváljuk, a activeByDefault a profil szintén átugorásra kerül, ahogy a következő szakaszokban láthatjuk.

4.4. Tulajdon alapján

Aktiválhatjuk a profilokat a parancssorban. Néha azonban kényelmesebb, ha automatikusan aktiválódnak. Például, alapozhatjuk a -D rendszer tulajdonság:

 aktív-ingatlan-környezeti környezet 

Most aktiváljuk a profilt a mvn csomag -Környezet parancs.

Profil aktiválása akkor is lehetséges, ha nincs tulajdonság:

 !környezet 

Vagy aktiválhatjuk a profilt ha az ingatlan meghatározott értékkel rendelkezik:

 környezeti teszt 

Most már futtathatjuk a profilt mvn csomag -Környezet = teszt.

Végül aktiválhatjuk a profilt, ha a tulajdonságnak nem a megadott értéke van:

 környezet! teszt 

4.5. Alapján JDK Változat

Egy másik lehetőség egy profil engedélyezése a gépen futó JDK alapján. Ebben az esetben szeretnénk engedélyezni a profilt, ha a JDK verzió 11-vel kezdődik:

 aktív-on-jdk-11 11 

Tartományokat is használhatunk a JDK verzióhoz, amint azt a Maven Version Range Syntax ismerteti.

4.6. Az operációs rendszer alapján

Alternatív megoldásként aktiválhatjuk a profilt néhány operációs rendszer információ alapján.

És ha ebben nem vagyunk biztosak, akkor először használhatjuk a mvn enforcer: display-info parancs, amely a következő kimenetet adja a gépemen:

Maven verzió: 3.5.4 JDK verzió: 11.0.2 normalizálva: 11.0.2 OS információ: Arch: amd64 Család: Windows Név: Windows 10 Verzió: 10.0

Ezt követően konfigurálhatunk egy profilt, amely csak a Windows 10 rendszeren aktiválódik:

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

4.7. Fájl alapján

Egy másik lehetőség egy profil futtatása ha egy fájl létezik vagy van hiányzó.

Tehát hozzunk létre egy tesztprofilt, amely csak akkor hajtható végre, ha a testreport.html még nincs jelen:

  target / testreport.html 

5. Profil deaktiválása

Számos módot láthattunk a profilok aktiválására, de néha le kell tiltanunk egyet is.

A profil letiltásához használhatjuk a ’! vagy ‘-’.

Tehát, hogy letiltsa a aktív-on-jdk-11 profilt hajtjuk végre mvn összeállítása -P -active-on-jdk-11 parancs.

6. Következtetés

Ebben a cikkben megtudtuk, hogyan kell működni a Maven profilokkal, így különböző build-konfigurációkat hozhatunk létre.

A profilok segítenek a build egyes elemeinek végrehajtásában, amikor szükségünk van rájuk. Ez optimalizálja az építési folyamatunkat, és gyorsabb visszajelzést ad a fejlesztőknek.

Vessen egy pillantást a készre pom.xml fájl át a GitHubon.