Spring Boot Dependency Management with a Custom Parent

1. Prehľad

Jarná topánka poskytuje nadradený POM pre jednoduchšie vytváranie aplikácií Spring Boot.

Avšak použitie rodičovského POM nemusí byť vždy žiaduce, ak už máme rodiča, z ktorého by sme mali dediť.

V tomto rýchlom výučbe sa pozrieme na to, ako môžeme stále používať boot bez nadradeného štartéra.

2. Jarná topánka Bez rodičovského POM

Rodič pom.xml stará sa o závislosť a správu pluginov. Z tohto dôvodu dedenie z nej poskytuje hodnotnú podporu v aplikácii, takže pri vytváraní a. Je to obvykle preferovaný postup Topánka žiadosť. Viac podrobností o tom, ako zostaviť aplikáciu založenú na nadradenom štartéri, nájdete v našom predchádzajúcom článku.

V praxi však môžu nás obmedzovať pravidlá návrhu alebo iné preferencie, aby sme použili iného rodiča.

Našťastie Jarná topánka ponúka alternatívu k dedeniu z rodičovského štartéra, ktorá nám stále môže dovoliť niektoré z jeho výhod.

Ak nevyužijeme rodičovský POM, stále môžeme ťažiť zo správy závislostí pridaním spring-boot-dependencies artefakt s rozsah = import:

   org.springframework.boot spring-boot-dependencies 1.5.6.RELEASE import pom 

Ďalej môžeme začať jednoducho pridávať jarné závislosti a využívať ich Jarná topánka Vlastnosti:

 org.springframework.boot spring-boot-starter-web 

Na druhej strane, bez materského POM už správa doplnkov neprospieva. To znamená, že musíme pridať spring-boot-maven-plugin výslovne:

   org.springframework.boot doplnok spring-boot-maven-plugin 

3. Prekonanie závislostných verzií

Ak chceme pre určitú závislosť použiť inú verziu ako tú, ktorú spravuje Boot, musíme ju deklarovať v dependencyManagement oddiel, predtým spring-boot-dependencies je vyhlásený:

   org.springframework.boot spring-boot-starter-data-jpa 1.5.5.RELEASE // ... 

Naopak, iba vyhlásenie verzie za závislosť mimo domény dependencyManagement značka už nebude fungovať.

4. Záver

V tomto rýchlom návode sme videli, ako môžeme použiť Jarná topánka bez rodiča pom.xml.

Zdrojový kód pre príklady nájdete na GitHub.


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