Ú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:
- A projekt-specifikus profilok a projektbe kerülnek pom.xml fájl
- A felhasználóspecifikus profilok a felhasználó profiljába kerülnek settings.xml fájl
- 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.