最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springBoot Maven 剔除無用的jar引用問題記錄

 更新時(shí)間:2024年12月23日 09:34:08   作者:水w  
這篇文章主要介紹了springBoot Maven 剔除無用的jar引用問題記錄,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

當(dāng)項(xiàng)目經(jīng)過一段時(shí)間的開發(fā)和維護(hù)后,經(jīng)常會(huì)遇到項(xiàng)目打包速度變慢的問題。這通常與項(xiàng)目中包含大量的jar依賴有關(guān),這些依賴之間的關(guān)系錯(cuò)綜復(fù)雜。這種情況在項(xiàng)目維護(hù)過程中是非常常見的。由于開發(fā)人員在修復(fù)bug或開發(fā)新功能時(shí),往往會(huì)簡單地向項(xiàng)目中添加新的jar依賴,而沒有對(duì)現(xiàn)有依賴進(jìn)行清理或優(yōu)化。因此,我們需要一種方法來分析項(xiàng)目中哪些jar依賴是真正被使用的,哪些依賴則可能已經(jīng)不再需要,從而幫助我們優(yōu)化項(xiàng)目結(jié)構(gòu),提高構(gòu)建效率。

我們可以使用Maven analyze來進(jìn)行分析,使用如下命令:

mvn dependency:analyze

在idea的終端輸入命令,則會(huì)輸出如下的日志:

當(dāng)你運(yùn)行 mvn dependency:analyze 命令時(shí),Maven 會(huì)對(duì)項(xiàng)目的依賴進(jìn)行分析,并報(bào)告一些潛在的問題。日志中的Used undeclared dependencies found和Unused declared dependencies found是兩個(gè)常見的警告信息。

Used undeclared dependencies found

Used undeclared dependencies found這個(gè)警告表示項(xiàng)目中使用了某些未在 pom.xml 文件中聲明的依賴。但是它并不是直接的依賴(就是說沒有在pom中直接聲明),是通過引入傳遞下來的包。換句話說,項(xiàng)目中有一些類或資源是從這些未聲明的依賴中引用的,但這些依賴沒有被明確地添加到項(xiàng)目的依賴管理中。

舉個(gè)例子:project在pom中聲明了A.jar的依賴(沒有聲明B.jar的依賴) A.jar的依賴關(guān)系:A.jar -> B.jar 通過mvn dependency:analyze出現(xiàn) [WARNING] Used undeclared dependencies found: B.jar 就說明project中的代碼用到了B.jar的代碼 這個(gè)時(shí)候你就可以把B.jar直接聲明在pom中。

Unused declared dependencies found

Unused declared dependencies found這個(gè)警告表示項(xiàng)目中聲明了一些沒有被使用的依賴。換句話說,這些依賴在項(xiàng)目中沒有任何引用或使用。

假設(shè)你在 pom.xml 中聲明了一個(gè)依賴 com.example:example-lib,但在項(xiàng)目代碼中并沒有使用任何來自該庫的類或資源。運(yùn)行 mvn dependency:analyze 后,你會(huì)看到類似如下的警告:

[WARNING] Unused declared dependencies found:
com.example:example-lib:jar:1.0.0:compile

但是這里我們需要注意:這里說的實(shí)際代碼沒有用到,指的是在main/java和test里沒有用的但是并不是意味著真的沒有用到這些包,有可能配置文件中引用或者其他擴(kuò)展點(diǎn)自動(dòng)加載這些包,所以我們?cè)趧h除依賴的時(shí)候一定要小心,做好備份,因?yàn)檫@類引用maven是分析不出來的。

要注意的還有,這個(gè)檢測的結(jié)果僅供參考,有時(shí)也不準(zhǔn)確,如org.projectlombok:lombok:jar:1.16.20:provided,實(shí)際上在項(xiàng)目中有使用到它的注解@Data,這個(gè)屬于誤判。要注意剔除依賴后多測試,工具畢竟有畢竟的缺陷性。

對(duì)于這種,最好是先注釋,測試沒有問題的話再刪除,這樣也不用做備份,隨時(shí)取消注釋。

此外,我們?cè)谛马?xiàng)目建立時(shí),引用jar包時(shí)要慎重,不要一股腦兒直接拷貝老項(xiàng)目的依賴,避免后期又花時(shí)間來剔除。

到此這篇關(guān)于springBoot Maven 剔除無用的jar引用的文章就介紹到這了,更多相關(guān)springBoot Maven jar引用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文淺析Java金額計(jì)算用long還是BigDecimal

    一文淺析Java金額計(jì)算用long還是BigDecimal

    在Java后端開發(fā)中處理與錢有關(guān)的業(yè)務(wù)時(shí),確保金額計(jì)算的準(zhǔn)確性和避免錯(cuò)誤非常重要,這篇文章主要給大家介紹了關(guān)于Java中處理金額計(jì)算之使用Long還是BigDecimal的相關(guān)資料,希望對(duì)大家有所幫助
    2025-12-12
  • Mybatis報(bào)錯(cuò)mapkey is required問題及解決

    Mybatis報(bào)錯(cuò)mapkey is required問題及解決

    這篇文章主要介紹了Mybatis報(bào)錯(cuò)mapkey is required問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Java讀取JSON文件并將其中元素轉(zhuǎn)為JSON對(duì)象輸出的方式

    Java讀取JSON文件并將其中元素轉(zhuǎn)為JSON對(duì)象輸出的方式

    這篇文章主要介紹了Java讀取JSON文件并將其中元素轉(zhuǎn)為JSON對(duì)象輸出的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-10-10
  • Java中占位符的超全使用方法分享

    Java中占位符的超全使用方法分享

    這篇文章主要為大家詳細(xì)介紹了Java中常見的一些占位符的使用方法,例如%d,%s等,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)學(xué)習(xí)
    2023-05-05
  • Java多線程synchronized同步方法詳解

    Java多線程synchronized同步方法詳解

    這篇文章主要介紹了Java多線程synchronized同步方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java實(shí)現(xiàn)后端和前端的接口數(shù)據(jù)加密方案詳解

    Java實(shí)現(xiàn)后端和前端的接口數(shù)據(jù)加密方案詳解

    這篇文章主要為大家詳細(xì)介紹了一種基于橢圓曲線集成加密方案(ECIES)的前后端數(shù)據(jù)安全交互方法,該方案通過橢圓曲線密碼學(xué)實(shí)現(xiàn)密鑰協(xié)商,結(jié)合AES對(duì)稱加密保障數(shù)據(jù)傳輸安全,感興趣的小伙伴可以了解下
    2026-04-04
  • Java設(shè)計(jì)模式之策略模式示例詳解

    Java設(shè)計(jì)模式之策略模式示例詳解

    策略模式屬于Java?23種設(shè)計(jì)模式中行為模式之一,該模式定義了一系列算法,并將每個(gè)算法封裝起來,使它們可以相互替換,且算法的變化不會(huì)影響使用算法的客戶。本文將通過示例詳細(xì)講解這一模式,需要的可以參考一下
    2022-03-03
  • Java8之Lambda表達(dá)式使用解讀

    Java8之Lambda表達(dá)式使用解讀

    這篇文章主要介紹了Java8之Lambda表達(dá)式使用解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • SpringBoot?將配置文件掛到?jar?包外面的操作方法

    SpringBoot?將配置文件掛到?jar?包外面的操作方法

    在 SpringBoot 中,可以將配置文件放在 jar 包外面,這樣可以方便地修改配置而不需要重新打包和部署,這篇文章主要介紹了SpringBoot?如何將配置文件掛到?jar?包外面,需要的朋友可以參考下
    2023-03-03
  • Spring Boot場景啟動(dòng)器(Starters)從入門到精通

    Spring Boot場景啟動(dòng)器(Starters)從入門到精通

    本文給大家介紹Spring Boot場景啟動(dòng)器(Starters)完全指南:從入門到精通,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-10-10

最新評(píng)論

舞钢市| 昔阳县| 顺义区| 祁连县| 大姚县| 浙江省| 阿鲁科尔沁旗| 望都县| 乐东| 怀来县| 长乐市| 武陟县| 宁河县| 虹口区| 宝应县| 石台县| 玉山县| 封开县| 伊川县| 永春县| 土默特左旗| 义马市| 孝义市| 邯郸县| 灵武市| 禄丰县| 堆龙德庆县| 汽车| 旬阳县| 布尔津县| 仁寿县| 佛冈县| 锦州市| 岫岩| 灌阳县| 襄汾县| 南郑县| 肥乡县| 临高县| 双江| 登封市|