欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot jar包大小優(yōu)化問(wèn)題及解決

 更新時(shí)間:2022年11月16日 15:03:39   作者:dying 擱淺  
這篇文章主要介紹了SpringBoot jar包大小優(yōu)化問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

這里提供兩種解決方案

  • 清理 Maven 依賴(lài)中無(wú)用依賴(lài)( Unused declared dependencies )。
  • 打包時(shí)排除所有 jar 依賴(lài)改為運(yùn)行時(shí)外部引用。

方案一:清理Maven依賴(lài)中無(wú)用依賴(lài)

可以使用 mvn dependency:analyze 命令對(duì)項(xiàng)目進(jìn)行分析,并以此作為參考來(lái)剔除無(wú)用依賴(lài)。

下面對(duì)圖中的 Used undeclared dependencies found 和 Unused declared dependencies found 作出解釋

Used undeclared dependencies found

意為項(xiàng)目中有些我們使用到的 jar 包依賴(lài)并沒(méi)有在 pom 文件中顯示聲明,這意味著這些包是通過(guò)引用傳遞 1 而來(lái)的。

這個(gè)時(shí)候我們可以選擇顯示聲明他們。

Unused declared dependencies found

意為項(xiàng)目中存在顯示聲明的依賴(lài)我們?cè)趯?shí)際的應(yīng)用中并沒(méi)有使用到。我們可以將他們從 pom 文件中剔除。

注意:

這里雖然說(shuō)實(shí)際代碼中沒(méi)有用到,但并不意味著一定沒(méi)有用到,這里只是說(shuō) main/java 和 test 中沒(méi)有使用到,具體剔除方案還需要自己衡量,這個(gè)結(jié)果只能作為參照。

方案二:外部引用 jar 包(立竿見(jiàn)影)

可有效縮減 jar 包大小,進(jìn)而解決 Jar 包太大引發(fā)的打包慢,上傳慢等問(wèn)題。

1. 將原本 jar 包解壓縮找到 BOOT-INF 下的 lib 目錄考出,該目錄下包含所需所有 jar包。

2. 在 pom 中 spring-boot-maven-plugin 打包插件設(shè)置打包時(shí)排除所有 jar 包

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                    <layout>ZIP</layout>
                    <includes>
                        <include>
                            <!-- 排除所有Jar -->
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>
                    </includes>
                </configuration>
            </plugin>

此時(shí)打包,會(huì)發(fā)現(xiàn) jar 包大小銳減,將 jar 包與 lib 放在同一目錄下執(zhí)行命令

java -Dloader.path="lib/" -jar yourjarname.jar 即可。

引用傳遞意為:我們通過(guò) pom 文件聲明了依賴(lài)的 jar 包 A 同時(shí)包 A 引用了 jar 包 B 即 A.jar -> B.jar 此時(shí)我們可以直接使用 B包中的代碼但我們卻沒(méi)有顯示聲明引用 B包

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中的線(xiàn)程死鎖是什么?如何避免?

    Java中的線(xiàn)程死鎖是什么?如何避免?

    這篇文章主要介紹了Java中線(xiàn)程死鎖的相關(guān)資料,以及避免死鎖的方法,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-09-09
  • java:try...catch跳過(guò)異常繼續(xù)處理循環(huán)問(wèn)題

    java:try...catch跳過(guò)異常繼續(xù)處理循環(huán)問(wèn)題

    這篇文章主要介紹了java:try...catch跳過(guò)異常繼續(xù)處理循環(huán)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解spring cloud config實(shí)現(xiàn)datasource的熱部署

    詳解spring cloud config實(shí)現(xiàn)datasource的熱部署

    這篇文章主要介紹了詳解spring cloud config實(shí)現(xiàn)datasource的熱部署,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 基于java構(gòu)造方法Vector刪除元素源碼分析

    基于java構(gòu)造方法Vector刪除元素源碼分析

    這篇文章主要介紹了基于java構(gòu)造方法中對(duì)Vector刪除元素的源碼分析,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家早日升職加薪
    2021-09-09
  • Java實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲(敵機(jī)下落篇)

    Java實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲(敵機(jī)下落篇)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲,敵機(jī)下落篇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Springboot+Vue+shiro實(shí)現(xiàn)前后端分離、權(quán)限控制的示例代碼

    Springboot+Vue+shiro實(shí)現(xiàn)前后端分離、權(quán)限控制的示例代碼

    這篇文章主要介紹了Springboot+Vue+shiro實(shí)現(xiàn)前后端分離、權(quán)限控制的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java源碼解析HashMap簡(jiǎn)介

    Java源碼解析HashMap簡(jiǎn)介

    今天小編就為大家分享一篇關(guān)于Java源碼解析HashMap簡(jiǎn)介,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • java日期格式化YYYY-MM-dd遇坑指南小結(jié)

    java日期格式化YYYY-MM-dd遇坑指南小結(jié)

    本文主要介紹了java日期格式化YYYY-MM-dd遇坑指南小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 詳解前后端分離之Java后端

    詳解前后端分離之Java后端

    這篇文章主要介紹了詳解前后端分離之Java后端,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Java中AML讀寫(xiě)常用工具包及使用方法示例

    Java中AML讀寫(xiě)常用工具包及使用方法示例

    這篇文章主要給大家介紹了關(guān)于Java中AML讀寫(xiě)常用工具包及使用方法的相關(guān)資料,Java?YAML工具類(lèi)是一種用于處理YAML格式文件的工具類(lèi),可以方便地讀取、寫(xiě)入和操作YAML文件,需要的朋友可以參考下
    2024-04-04

最新評(píng)論