簡體   English   中英

將春季子項目包裝到一個罐中

[英]Packaging spring sub-projects into one jar

我有一個基於Spring的Web應用程序,試圖將其捆綁到一個jar中。

我對項目進行布局的想法是要有一個包含多個子項目的根項目,其中會有一個子項目是spring-boot應用程序,而其他子項目也許是我自己編寫的代碼來處理某些業務邏輯可以說。

因此,結構可能類似於:

/root
 build.gradle <- the problem is here, how I should write root project build script
 /spring-backend-subproject
 /other-business-subproject

擁有所有這些子項目后,我想將它們全部打包到一個JAR中,這樣我就可以

java -jar build/libs/RootJar.jar

否則我需要運行:

./gradlew bootRun

它將在“ spring-boot”子項目中運行特定的主類

我一直在網上搜索如何將所有子項目jar捆綁到一個jar中,例如這樣的: Gradle可以將多個項目打包到一個jar中嗎? 但是我經常會遇到一些錯誤,例如找不到主類(如果我專門在“ spring sub-project”文件夾中運行jar,則不會發生)或找不到SpringApplication類(如果在jar中運行jar,同樣不會發生)子項目文件夾)

我該如何解決這個問題?

謝謝!

我廣泛使用此模式。 與其嘗試將部署類放到根目錄中, -launcher添加一個模塊(我通常稱其為-launcher ),該模塊將其他模塊列為依賴項,並包含您的主類和相關的應用程序代碼,例如您可能擁有的任何application.properties

這個模塊將產生一個工件my-project-launcher.jar ,並將其部署到您正在使用的任何平台上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM