SpringBoot增量/瘦身部署jar包的方式
背景
SpringBoot 項(xiàng)目的部署一般采用全量jar 包方式部署相關(guān)項(xiàng)目,如果我們對(duì)相關(guān)的Contrller\Service\Dao\Mapper 層進(jìn)行相關(guān)業(yè)務(wù)調(diào)整就需要重新編譯全量jar 包(包大小約為200M左右)實(shí)在太麻煩了。
本文:重點(diǎn)講解使用SpringBoot 的增量/瘦身部署方式,把引用的jar 和靜態(tài)資源分離。
分離Jar包
SpringBoot 全量jar 大小截圖
點(diǎn)擊SpringBoot 項(xiàng)目的Maven ->package 打包指令。
SpringBoot 增量/瘦身jar 大小截圖
點(diǎn)擊SpringBoot 項(xiàng)目的Maven ->package 打包指令。
如何使用maven-dependency-plugin分離jar包
第一步:在SpringBoot 項(xiàng)目中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 項(xiàng)目默認(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> <!-- 打包的時(shí)候排除的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 項(xiàng)目啟動(dòng)
在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 項(xiàng)目涉及application.yml 文件但又不涉及后端邏輯代碼的修改,可以通知指定配置文件方式,啟動(dòng)Spring Boot項(xiàng)目,執(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 包的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringCloud中的openFeign調(diào)用服務(wù)并傳參的過程
服務(wù)和服務(wù)之間通信,不僅僅是調(diào)用,往往在調(diào)用過程中還伴隨著參數(shù)傳遞,接下來重點(diǎn)來看看OpenFeign在調(diào)用服務(wù)時(shí)如何傳遞參數(shù),感興趣的朋友一起看看吧2023-11-11java使用EditText控件時(shí)不自動(dòng)彈出輸入法的方法
這篇文章主要介紹了java使用EditText控件時(shí)不自動(dòng)彈出輸入法的方法,需要的朋友可以參考下2015-03-03mybatis-plus分頁(yè)如何接收前端參數(shù)limit和page
這篇文章主要介紹了mybatis-plus分頁(yè)如何接收前端參數(shù)limit和page,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01深入分析java并發(fā)編程中volatile的實(shí)現(xiàn)原理
這篇文章主要介紹了深入分析java并發(fā)編程中Volatile的實(shí)現(xiàn)原理,涉及Volatile的官方定義,實(shí)現(xiàn)原理,使用優(yōu)化等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11Java查詢MongoDB數(shù)據(jù)庫(kù)案例大全
這篇文章主要給大家介紹了關(guān)于Java查詢MongoDB數(shù)據(jù)庫(kù)的一些相關(guān)案例,Java可以使用MongoDB的官方Java驅(qū)動(dòng)程序來連接和操作MongoDB數(shù)據(jù)庫(kù),需要的朋友可以參考下2023-07-07Java8 Lambda表達(dá)式模板方法實(shí)現(xiàn)解析
這篇文章主要介紹了Java8 Lambda表達(dá)式模板方法實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08