SpringBoot增量/瘦身部署jar包的方式
背景
SpringBoot 項目的部署一般采用全量jar 包方式部署相關(guān)項目,如果我們對相關(guān)的Contrller\Service\Dao\Mapper 層進(jìn)行相關(guān)業(yè)務(wù)調(diào)整就需要重新編譯全量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 標(biāo)簽下添加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 項目默認(rèn):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文件夾,進(jìn)入代碼resource文件夾內(nèi)復(fù)制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包的方式的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot 增量/瘦身部署jar 包的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringCloud中的openFeign調(diào)用服務(wù)并傳參的過程
服務(wù)和服務(wù)之間通信,不僅僅是調(diào)用,往往在調(diào)用過程中還伴隨著參數(shù)傳遞,接下來重點來看看OpenFeign在調(diào)用服務(wù)時如何傳遞參數(shù),感興趣的朋友一起看看吧2023-11-11mybatis-plus分頁如何接收前端參數(shù)limit和page
這篇文章主要介紹了mybatis-plus分頁如何接收前端參數(shù)limit和page,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01深入分析java并發(fā)編程中volatile的實現(xiàn)原理
這篇文章主要介紹了深入分析java并發(fā)編程中Volatile的實現(xiàn)原理,涉及Volatile的官方定義,實現(xiàn)原理,使用優(yōu)化等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。2017-11-11Java8 Lambda表達(dá)式模板方法實現(xiàn)解析
這篇文章主要介紹了Java8 Lambda表達(dá)式模板方法實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08