亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot依賴和代碼分開打包的實(shí)現(xiàn)步驟

 更新時(shí)間:2023年10月26日 11:50:13   作者:每天吃八頓  
本文主要介紹了SpringBoot依賴和代碼分開打包的實(shí)現(xiàn)步驟,,這種方法將依賴和代碼分開打包,一般更新只有代碼修改,Pom文件是不會經(jīng)常改動的,感興趣的可以了解一下

前言

在公司的項(xiàng)目中,一個(gè)SpringBoot工程可能就上百M(fèi)B,這時(shí)候當(dāng)線上網(wǎng)速不佳的時(shí)候,部署起來就十分的痛苦了。。經(jīng)常等好久才能上傳完畢,接下來我來教大家一個(gè)SpringBoot工程代碼和依賴分開打包的方法。這種方法將依賴和代碼分開打包,一般更新只有代碼修改,Pom文件是不會經(jīng)常改動的~

效果展示

分開打包前

足足有191MB

分開打包后

只剩3.5MB了

減負(fù)的效果拔群

創(chuàng)建新工程

工程結(jié)構(gòu)

我新建了一個(gè)SpringBoot工程,目錄結(jié)構(gòu)如下。

測試工程是否可用

就是一個(gè)非常簡單的工程,只有一個(gè)Controller,讓我們來啟動然后調(diào)用一下TestController里面的test方法

調(diào)用結(jié)果

調(diào)用結(jié)果是正常的,也通過MyBatis-plus讀取到了數(shù)據(jù)的內(nèi)容

分離依賴

target目錄結(jié)構(gòu)

當(dāng)我們運(yùn)行成功后,在項(xiàng)目的target目錄下,會自動給我們生成項(xiàng)目名-1.0-SNAPSHOT.jar文件,如圖一所示。如果沒有生成的話,大家可以點(diǎn)擊右側(cè)的Maven生成,如圖二所示。

打開文件拓展名

這里我們是生成了.jar文件的,那就進(jìn)入到下一步,將jar文件重命名成.zip文件,如果有同學(xué)沒打開文件擴(kuò)展名的選項(xiàng),可以在圖一所示的地方打開文件擴(kuò)展名選項(xiàng)即可。

修改文件拓展名

這個(gè)時(shí)候我們已經(jīng)將.jar改成.zip了,雙擊打開或者使用壓縮工具打開都可以。

如果改成zip報(bào)錯可以改成rar

如果打開時(shí)候提示報(bào)錯,可以將.zip換成.rar試試哦

壓縮包目錄

打開后的文件目錄如下圖所示

解壓出lib目錄

接著我們選擇第一個(gè)文件夾BOOT-INF,然后可以看到它下面有兩個(gè)二級文件夾,其中一個(gè)就是lib,這個(gè)就是我們想要的文件夾。我們可以雙擊打開看看里面存放的都是什么文件。

我們打開后發(fā)現(xiàn)里面都是依賴文件,所以這就是我們想要的依賴包

然后我們把這個(gè)lib依賴解壓出來,解壓位置隨意。

修改Pom文件

將lib文件夾解壓出來后,我們開始修改Pom文件,這個(gè)時(shí)候我們已經(jīng)將依賴分離出來了,我們只需要打包代碼即可。
所以我們修改Pom文件分兩種情況

情況一

在Pom文件下的build節(jié)點(diǎn)下已經(jīng)有pluginManagement節(jié)點(diǎn),找到下面這個(gè)節(jié)點(diǎn),將圖片紅框中的幾行復(fù)制進(jìn)去

情況二

在Pom文件下的build節(jié)點(diǎn)下還沒有pluginManagement節(jié)點(diǎn),直接將我下面提供的pluginManagement節(jié)點(diǎn)復(fù)制到build節(jié)點(diǎn)底下即可。

<pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>2.3.2.RELEASE</version>
                    <configuration>
                        <finalName>boot-template</finalName>
                        <layout>ZIP</layout>
                        <includeSystemScope>true</includeSystemScope>
                        <executable>true</executable>
                        <includes>
                            <include>
                                <groupId>nothing</groupId>
                                <artifactId>nothing</artifactId>
                            </include>
                        </includes>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>

重新打包

接下來第一步先點(diǎn)擊右上方的加載Maven更改,或者使用快捷鍵Ctrl+shift+o,然后點(diǎn)擊右側(cè)Maven菜單下的生命周期里面的package即可

圖一是控制臺的輸出,圖二是打包后的文件,我們可以看到這次打包后只有132KB

測試jar包

我們接下來測試分離完后的jar包是否正常使用,我們將lib文件夾和jar包放在同一個(gè)目錄下面,然后打開一個(gè)cmd窗口,輸入下面命令–記得將IDEA里面的工程停了,不然會報(bào)端口被占用哦。

java -Dloader.path=./lib -jar boot-template.jar

命令解釋:-Dloader.path 用來指定lib存放位置,下面是運(yùn)行成功截圖~

測試接口

接著我們來測試接口功能是否正常,我們回到接口工具重新調(diào)用了一次test接口,發(fā)現(xiàn)返回的數(shù)據(jù)沒區(qū)別

在CMD里面我們也可以看到,連接MySQL也沒啥問題。到此本文結(jié)束,如有問題請可以在評論區(qū)發(fā)出來或者私信我哦~

備注

細(xì)心的小伙伴發(fā)現(xiàn),如果我們改了Pom文件要怎么辦呢?當(dāng)然是把之前加的那幾行去掉,然后重新解壓一次lib包即可

到此這篇關(guān)于SpringBoot依賴和代碼分開打包的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)SpringBoot依賴和代碼分開打包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis中實(shí)現(xiàn)枚舉自動轉(zhuǎn)換方法詳解

    mybatis中實(shí)現(xiàn)枚舉自動轉(zhuǎn)換方法詳解

    在使用mybatis的時(shí)候經(jīng)常會遇到枚舉類型的轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于mybatis中實(shí)現(xiàn)枚舉自動轉(zhuǎn)換的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-08-08
  • java中form以post、get方式提交數(shù)據(jù)中文亂碼問題總結(jié)

    java中form以post、get方式提交數(shù)據(jù)中文亂碼問題總結(jié)

    這篇文章主要介紹了java中form以post、get方式提交數(shù)據(jù)中文亂碼問題總結(jié),需要的朋友可以參考下
    2014-10-10
  • java實(shí)現(xiàn)微信公眾號消息推送的方法詳解

    java實(shí)現(xiàn)微信公眾號消息推送的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用java實(shí)現(xiàn)微信公眾號消息推送的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • 實(shí)戰(zhàn)指南:Java編寫Flink?SQL解決難題

    實(shí)戰(zhàn)指南:Java編寫Flink?SQL解決難題

    想知道如何利用Java編寫Flink?SQL解決難題嗎?本指南將為您揭示最實(shí)用的技巧和策略,讓您輕松應(yīng)對挑戰(zhàn),跟著我們一起探索,讓Java和Flink?SQL成為您問題解決的得力助手!
    2023-12-12
  • SpringBoot集成Spring security JWT實(shí)現(xiàn)接口權(quán)限認(rèn)證

    SpringBoot集成Spring security JWT實(shí)現(xiàn)接口權(quán)限認(rèn)證

    這篇文章主要介紹了SpringBoot集成Spring security JWT實(shí)現(xiàn)接口權(quán)限認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java經(jīng)典排序算法之二分插入排序詳解

    Java經(jīng)典排序算法之二分插入排序詳解

    這篇文章主要為大家詳細(xì)介紹了Java經(jīng)典排序算法之二分插入排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Java 批量刪除Word中的空白段落示例代碼

    Java 批量刪除Word中的空白段落示例代碼

    這篇文章主要介紹了Java 批量刪除Word中的空白段落,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • SpringCloud OpenFeign概述與使用

    SpringCloud OpenFeign概述與使用

    OpenFeign源于Netflix的Feign,是http通信的客戶端。屏蔽了網(wǎng)絡(luò)通信的細(xì)節(jié),直接面向接口的方式開發(fā),讓開發(fā)者感知不到網(wǎng)絡(luò)通信細(xì)節(jié)。所有遠(yuǎn)程調(diào)用,都像調(diào)用本地方法一樣完成
    2023-01-01
  • java springmvc實(shí)現(xiàn)驗(yàn)證碼功能

    java springmvc實(shí)現(xiàn)驗(yàn)證碼功能

    這篇文章主要為大家詳細(xì)介紹了java springmvc實(shí)現(xiàn)驗(yàn)證碼功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Java算法真題詳解運(yùn)用單調(diào)棧

    Java算法真題詳解運(yùn)用單調(diào)棧

    一般使用單調(diào)棧無非兩個(gè)方向,單調(diào)遞減,單調(diào)遞增。單調(diào)遞增棧:存進(jìn)去的數(shù)據(jù)都是增加的,碰到減少的時(shí)候,這時(shí)就要進(jìn)行操作了。單調(diào)遞減棧:存進(jìn)去的數(shù)據(jù)都是減少的,碰到增加的時(shí)候,這時(shí)就要進(jìn)行操作了,下面我們在真題中運(yùn)用它
    2022-07-07

最新評論