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

Maven插件之Dependency:analyze的使用

 更新時(shí)間:2024年10月06日 15:35:06   作者:筆墨桑  
在軟件開(kāi)發(fā)中,合理管理項(xiàng)目依賴是保證構(gòu)建穩(wěn)定性的關(guān)鍵,Maven作為流行的項(xiàng)目管理工具,提供了Dependency插件來(lái)幫助開(kāi)發(fā)者分析和優(yōu)化項(xiàng)目依賴,通過(guò)執(zhí)行dependency:analyze指令,可以辨識(shí)項(xiàng)目中使用的、未聲明的、和未使用的依賴項(xiàng)

前言

完成新功能的開(kāi)發(fā)后,在發(fā)包前組長(zhǎng)告訴我要檢查maven工程的依賴,并告訴我相關(guān)指令,此文記錄一下使用方式

正文

簡(jiǎn)介

Maven官網(wǎng)之Dependency插件

Dependency插件提供了操縱artifact的能力,可以復(fù)制以及拆包本地或遠(yuǎn)程倉(cāng)庫(kù)的artifact到指定地點(diǎn)。

Dependency有很多的goal,這里介紹的是dependency:analyze

用途

用來(lái)分析項(xiàng)目的依賴并確定以下內(nèi)容

  • 使用的并且聲明的依賴
  • 使用的但是未聲明的依賴
  • 未使用的但是聲明的依賴

在文章最后的《分析結(jié)果以及改進(jìn)方案》章節(jié)中會(huì)介紹具體的含義

使用方法

前提:保證電腦已經(jīng)下載了Maven,以及已經(jīng)配置好Maven的環(huán)境變量

通過(guò)命令行

  1. 打開(kāi)命令行,進(jìn)入Maven項(xiàng)目或模塊的根目錄,即包含pom.xml的目錄(如果該目錄不包含pom.xml則會(huì)報(bào)錯(cuò))
  2. 執(zhí)行以下指令
mvn dependency:analyze

等待執(zhí)行完畢后,會(huì)看到類似如下輸出

通過(guò)idea

點(diǎn)擊idea右上方Add Configuration...按鈕(不同版本之間可能有差異)

在彈出窗口中點(diǎn)擊左上角+,選擇Maven

指定項(xiàng)目路徑Working directory為想要分析的Maven項(xiàng)目/模塊。

在命令行Command line中輸入dependency:analyzeIDEA中執(zhí)行Maven指令并不需要以mvn開(kāi)頭,IDEA會(huì)自動(dòng)添加)

點(diǎn)擊IDE右上方的執(zhí)行rundebug開(kāi)始執(zhí)行

等待執(zhí)行完畢后,會(huì)看到類似如下輸出

分析結(jié)果以及改進(jìn)方案

最開(kāi)始的《用途》章節(jié)中曾引出,depencency:analyze插件會(huì)分析如下內(nèi)容

  • 使用的并且聲明的依賴
  • 使用的但是未聲明的依賴
  • 未使用的但是聲明的依賴

我們需要根據(jù)分析結(jié)果進(jìn)行改進(jìn)優(yōu)化:

使用的并且聲明的依賴

該情況屬于正?,F(xiàn)象,在分析結(jié)果中也不會(huì)有任何體現(xiàn)。

使用的但是未聲明的依賴

表示依賴的a.jar又引用了其他的b.jar,導(dǎo)致我們間接的依賴了b.jar,但是我們并沒(méi)有在pom.xml中顯示的進(jìn)行依賴。這種情況是不推薦的,原因是我們可能在項(xiàng)目中了b.jar的方法,萬(wàn)一哪天對(duì)a.jar進(jìn)行升級(jí),而升級(jí)后的a.jar不依賴了b.jar,那么我們的程序就會(huì)報(bào)錯(cuò)。

改進(jìn)辦法就是顯示的依賴b.jar,如前面的例子中出現(xiàn)的

改進(jìn)方案為在pom.xml中添加對(duì)spring-jdbc以及spring-tx的依賴

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-jdbc</artifactId>
  <version>5.1.9.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-tx</artifactId>
  <version>5.1.9.RELEASE</version>
</dependency>

未使用的但是聲明的依賴

表示在pom.xml中添加的依賴在實(shí)際程序中并沒(méi)有用到

改進(jìn)方案為移除無(wú)用的依賴,但是有一點(diǎn)除外,就是我們聲明scopetest的依賴,也就是單元測(cè)試中使用到的,這些不能夠移除。如

我們只能夠?qū)?code>springboot的依賴移除,因?yàn)樵趯?shí)際中并沒(méi)有使用到,但是其余的以:test結(jié)尾的依賴是不能移除的,在單元測(cè)試中會(huì)使用到他們

總結(jié)

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

相關(guān)文章

  • Java實(shí)現(xiàn)Base64圖片轉(zhuǎn)URL的完整方案

    Java實(shí)現(xiàn)Base64圖片轉(zhuǎn)URL的完整方案

    這篇文章主要介紹了如何使用Java實(shí)現(xiàn)Base64格式圖片轉(zhuǎn)換為可訪問(wèn)的URL鏈接的過(guò)程,包括數(shù)據(jù)有效性校驗(yàn)、圖片壓縮、方向信息校正以及阿里云OSS存儲(chǔ)對(duì)接,核心實(shí)現(xiàn)代碼涵蓋了從獲取Base64圖片數(shù)據(jù)到上傳OSS的完整流程,需要的朋友可以參考下
    2025-11-11
  • Java讀取DBF文件(GBK編碼)的方法

    Java讀取DBF文件(GBK編碼)的方法

    在Java開(kāi)發(fā)中,有時(shí)需要讀取DBF(dBase文件)格式的數(shù)據(jù)文件,而這些文件通常采用GBK(簡(jiǎn)體中文)編碼,本文將介紹如何使用Java讀取采用GBK編碼的DBF文件,需要的朋友可以參考下
    2024-11-11
  • spring?aop?pointcut?添加多個(gè)execution方式

    spring?aop?pointcut?添加多個(gè)execution方式

    這篇文章主要介紹了spring?aop?pointcut?添加多個(gè)execution方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot整合Ip2region獲取IP地址和定位的詳細(xì)過(guò)程

    SpringBoot整合Ip2region獲取IP地址和定位的詳細(xì)過(guò)程

    ip2region v2.0 - 是一個(gè)離線IP地址定位庫(kù)和IP定位數(shù)據(jù)管理框架,10微秒級(jí)別的查詢效率,提供了眾多主流編程語(yǔ)言的 xdb 數(shù)據(jù)生成和查詢客戶端實(shí)現(xiàn) ,這篇文章主要介紹了SpringBoot整合Ip2region獲取IP地址和定位,需要的朋友可以參考下
    2023-06-06
  • java代碼如何實(shí)現(xiàn)存取數(shù)據(jù)庫(kù)的blob字段

    java代碼如何實(shí)現(xiàn)存取數(shù)據(jù)庫(kù)的blob字段

    這篇文章主要介紹了java代碼如何實(shí)現(xiàn)存取數(shù)據(jù)庫(kù)的blob字段問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Java編程synchronized與lock的區(qū)別【推薦】

    Java編程synchronized與lock的區(qū)別【推薦】

    互聯(lián)網(wǎng)信息泛濫環(huán)境下少有的良心之作!如果您想對(duì)Java編程synchronized與lock的區(qū)別有所了解,這篇文章絕對(duì)值得!分享給大家,供需要的朋友參考。不說(shuō)了,我先學(xué)習(xí)去了。
    2017-10-10
  • SpringBoot學(xué)習(xí)篇之@Valid與@Validated的區(qū)別

    SpringBoot學(xué)習(xí)篇之@Valid與@Validated的區(qū)別

    @Valid是使用Hibernate?validation的時(shí)候使用,@Validated是只用Spring?Validator校驗(yàn)機(jī)制使用,下面這篇文章主要給大家介紹了關(guān)于SpringBoot學(xué)習(xí)篇之@Valid與@Validated區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • java實(shí)現(xiàn)文件加密解密多種方法

    java實(shí)現(xiàn)文件加密解密多種方法

    這篇文章主要給大家介紹了關(guān)于java實(shí)現(xiàn)文件加密解密多種方法的相關(guān)資料,?Java支持多種加密解密算法,常用的有DES、AES、RSA等,需要的朋友可以參考下
    2023-07-07
  • Java異常處理之try...catch...finally詳解

    Java異常處理之try...catch...finally詳解

    今天小編就為大家分享一篇關(guān)于Java異常處理之try...catch...finally詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Java中s.charAt(index)用于提取字符串s中的特定字符操作

    Java中s.charAt(index)用于提取字符串s中的特定字符操作

    這篇文章主要介紹了Java中s.charAt(index)用于提取字符串s中的特定字符操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10

最新評(píng)論

报价| 平阳县| 苗栗市| 云浮市| 毕节市| 牙克石市| 宁阳县| 瑞丽市| 顺平县| 云林县| 同德县| 通海县| 红安县| 鸡东县| 石嘴山市| 中宁县| 靖边县| 兴仁县| 郯城县| 叶城县| 夹江县| 团风县| 出国| 海丰县| 东宁县| 施秉县| 赞皇县| 安乡县| 财经| 长汀县| 海兴县| 禹州市| 荔波县| 托里县| 怀柔区| 绥化市| 岱山县| 进贤县| 宁明县| 理塘县| 普安县|