Spring Boot

利用Spring Boot Thin Launcher產生Thin JAR

卜莞薷 Kris Puo 2021/11/05 17:00:10
137

目的

在使用的依賴變化不大的情況下,使用Spring Boot Thin Launcher能幫助我們將依賴自JAR中抽出,最後可以得到一個不大且可執行的JAR。此外,在本地產生一個repository,並將抽出的依賴集中於此。如此一來,當後續更新程式時,就可以加快更換的速度,同時也讓我們更易於管理不同環境所使用的依賴。

 

環境建置

開發環境如下:

   作業系統 windows 10

   Eclipse 2021-06(Eclipse IDE for Enterprise Java and Web Developers)

   openlogic-openjdk-8u262-b10-win-64

   Apache Maven 3.8.1

 

三、實作

1.     建立maven project

        

 

2.     pom.xml添加spring boot依賴 & 相關plugin 

         •  繼承spring boot parent pom,取得其所有的預設依賴

        

         •  添加spring-boot-starter-web依賴

       

          spring-boot-maven-plugin用來建立spring boot application,並加入相關dependency,此用途為將依賴自JAR取出   

        

         spring-boot-thin-maven-plugin則是在maven build時,在target/thin/root 產生一個名為repositorypackage,並將下載的依賴集中在此

 

 

3.     建立一個測試用的TestController.java

 

4.     maven buildclean package

   

 

5.     查看build結果:紅色框框為可執行JAR及其所需要依賴     

     

 

6.     使用以下指令來執行JAR

  java -Dthin.root=repository -jar {{JAR名稱}}

        •  -Dthin.root :設定使用的repository位置

    

 

7.      使用Postman查看測試結果

     

 

四、結論

圖一為使用Spring Boot Thin Launcher前,圖二則為使用Spring Boot Thin Launcher後。

由此可知,使用Spring Boot Thin Launcher能幫助我們減少可執行JAR檔的大小。


(
圖一)

(圖二)

 

五、參考資料

1.  https://github.com/spring-projects-experimental/spring-boot-thin-launcher

2.  https://www.baeldung.com/spring-boot-thin-jar

 

卜莞薷 Kris Puo