SpringBoot增量/瘦身部署jar包的方式
背景
SpringBoot 項目的部署一般采用全量jar 包方式部署相關項目,如果我們對相關的Contrller\Service\Dao\Mapper 層進行相關業(yè)務調整就需要重新編譯全量jar 包(包大小約為200M左右)實在太麻煩了。
本文:重點講解使用SpringBoot 的增量/瘦身部署方式,把引用的jar 和靜態(tài)資源分離。
分離Jar包
SpringBoot 全量jar 大小截圖
點擊SpringBoot 項目的Maven ->package 打包指令。

SpringBoot 增量/瘦身jar 大小截圖
點擊SpringBoot 項目的Maven ->package 打包指令。

如何使用maven-dependency-plugin分離jar包
第一步:在SpringBoot 項目中pom.xml文件的plugins 標簽下添加plugin 依賴。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!--指定的依賴路徑-->
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>第二步:修改SpringBoot 項目默認:spring-boot-maven-plugin插件,添加如下配置。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<!--必須為ZIP模式,不指定的話-Dloader.path不生效-->
<layout>ZIP</layout>
<!-- 打包的時候排除的jar包-->
<includes>
<include>
<groupId>non-exists</groupId>
<artifactId>non-exists</artifactId>
</include>
</includes>
</configuration>
</plugin>分離配置文件
在lib同目錄下創(chuàng)建resource文件夾,進入代碼resource文件夾內復制application.yml文件到resource文件下。

SpringBoot 項目啟動
在Spring Boot 可執(zhí)行jar 包所在的文件目錄打開窗口,執(zhí)行如下指令:
E:\github_workspace\SpringBootCase\SpringBoot-MyBatisPlus\target>java -Dloader.path=./lib -jar .\SpringBoot-MyBatisPlus-1.0-SNAPSHOT.jar
CMD 窗口輸出:

如果涉及Spring Boot 項目涉及application.yml 文件但又不涉及后端邏輯代碼的修改,可以通知指定配置文件方式,啟動Spring Boot項目,執(zhí)行如下指令:
java -Dloader.path=./lib -Dspring.config.location=./resource/application.yml -jar .\SpringBoot-MyBatisPlus-1.0-SNAPSHOT.jar
CMD 窗口輸出:

以上就是SpringBoot增量/瘦身部署jar包的方式的詳細內容,更多關于SpringBoot 增量/瘦身部署jar 包的資料請關注腳本之家其它相關文章!
相關文章
SpringCloud中的openFeign調用服務并傳參的過程
服務和服務之間通信,不僅僅是調用,往往在調用過程中還伴隨著參數傳遞,接下來重點來看看OpenFeign在調用服務時如何傳遞參數,感興趣的朋友一起看看吧2023-11-11
mybatis-plus分頁如何接收前端參數limit和page
這篇文章主要介紹了mybatis-plus分頁如何接收前端參數limit和page,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
深入分析java并發(fā)編程中volatile的實現原理
這篇文章主要介紹了深入分析java并發(fā)編程中Volatile的實現原理,涉及Volatile的官方定義,實現原理,使用優(yōu)化等相關內容,具有一定參考價值,需要的朋友可以了解下。2017-11-11

