Tavaszi indító alkalmazás használata függőségként

1. Áttekintés

Ebben az oktatóanyagban megtudhatjuk, hogyan kell használni a Spring Boot alkalmazást egy másik projekt függőségeként.

2. Tavaszi csomagtartó csomagolás

A Spring Boot Maven és a Gradle beépülő modulok futtatható JAR-ként csomagolják az alkalmazást - ilyen fájl nem használható egy másik projektben, mivel osztályfájlok kerülnek be BOOT-INF / osztályok. Ez nem hiba, hanem jellemző.

Az osztályok megosztása egy másik projekttel a legjobb megközelítés hozzon létre egy külön edényt, amely megosztott osztályokat tartalmaz, majd tegye az összes rájuk támaszkodó modul függőségévé.

De ha ez nem lehetséges, akkor konfigurálhatjuk a beépülő modult egy külön jar létrehozására, amely függőségként használható.

2.1. Maven konfiguráció

Konfiguráljuk a plugint egy osztályozóval:

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

Bár a Spring Boot 1.x konfigurációja kicsit más lenne:

... org.springframework.boot spring-boot-maven-plugin repackage exec 

Ez két üveget hoz létre, az egyik utótaggal exec futtatható korsóként, és egy másik, mint egy tipikusabb üveg, amelyet más projektekbe is beilleszthetünk.

3. Csomagolás Maven Assembly pluginnel

Használhatjuk a maven-assembly-plugin a függő tégely létrehozásához:

 org.apache.maven.plugins maven-assembly-plugin jar-with-dependencies make-assembly csomag egyetlen 

Ha ezt a bővítményt a exec osztályozó ban spring-boot-maven-plugin, három tégelyt fog generálni. Az első kettő ugyanaz lesz, mint korábban láttuk.

A harmadiknak bármilyen utótagja lesz, amelyet a címkét, és tartalmazza a projekt összes transzitív függőségét. Ha egy másik projektbe belefoglaljuk, akkor nem kell külön feltüntetnünk a tavaszi függőségeket.

4. Következtetés

Ebben a cikkben bemutattunk néhány megközelítést a Spring Boot alkalmazás csomagolására más Maven-projektek függőségeként történő felhasználására.

Mint mindig, a cikket támogató kód elérhető a GitHubon.