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

如何使用maven-helper插件解決jar包沖突問題

 更新時(shí)間:2024年05月22日 11:02:31   作者:健康平安的活著  
安裝了Maven?Helper插件,只要打開pom文件,就可以打開該pom文件的Dependency?Analyzer視圖,這篇文章主要介紹了使用maven-helper插件解決jar包沖突,需要的朋友可以參考下

一 mavenHelper插件的介紹安裝

1.1 介紹

安裝了Maven Helper插件,只要打開pom文件,就可以打開該pom文件的Dependency Analyzer視圖(在文件打開之后,文件下面會(huì)多出這樣一個(gè)tab),進(jìn)入Dependency Analyzer視圖之后有三個(gè)查看選項(xiàng),分別是Conflicts(沖突)、All Dependencies as List(列表形式查看所有依賴)、All Dependencies as Tree(樹結(jié)構(gòu)查看所有依賴)。并且這個(gè)頁面還支持搜索。很方便!

1.2 安裝

1.在線安裝:File-->setting--->Plugins--->在搜索框中填寫Maven Helper然后搜索,單擊Install按鈕進(jìn)行安裝,裝完重啟IDE。

2.離線安裝:點(diǎn)擊“Plugins”->“Marketplace”->輸入"mavn helper"->點(diǎn)擊“install”->點(diǎn)擊“OK”完成安裝

1.3 helper的使用

1.當(dāng)Maven Helper 插件安裝成功后,打開項(xiàng)目中的pom文件,下面就會(huì)多出一個(gè)試圖

2.helper的界面

打開pom文件,并可以切換tab,簡單使用,如下圖:

Conflicts(查看沖突)
All Dependencies as List(列表形式查看所有依賴)
All Dependencies as Tree(樹形式查看所有依賴)
當(dāng)前界面上還提供搜索功能 方便使用

二 jar包沖突說明

2.1 說明

首先,解決idea中jar包沖突,使用maven的插件:maven helper插件,它能夠給我們羅列出來同一個(gè)jar包的不同版本,以及他們的來源,但是對不同jar包中同名的類沒有辦法。

2.2 依賴順序

1.點(diǎn)擊【All Dependencies as Tree】,查看:從上向下,A依賴于B,B依賴于C;starter依賴core,core依賴api

2.點(diǎn)擊【Conflicts】,從圖中可以看出有哪些jar存在沖突,存在沖突的情況下最終采用了哪個(gè)依賴的版本。標(biāo)紅的就是沖突版本,白色的是當(dāng)前的解析版本。這個(gè)選項(xiàng),需要從下向上看;

A依賴于B,B依賴于C,如下圖:沖突的jar包就是dpscn-apass-oltp-plugin-api

2.3 解決思路

2.3.1 *排除指定的版本*

思想:如果有兩個(gè)依賴的版本發(fā)生了沖突,那么只要把其中一個(gè)依賴給排除掉,只剩下一個(gè)依賴,那么自然就可以解決沖突的問題。我們只需要使用exclusion關(guān)鍵字對相關(guān)依賴進(jìn)行排除就行

1.這里可以看到 spirng-beans-4.2.4.release和spring-beans-5.0.12沖突,這里舍棄spirng-beans-4.2.4.release這個(gè)版本,保留spring-beans-5.0.12 這個(gè)版本。使用 exclusion 排除定位到的沖突包。

2.在4.2.4版本側(cè)選中【exclude】

3.查看pom依賴,刷新pom后

4.再次點(diǎn)擊【conflicts】,可以看到關(guān)于spring-beans的沖突已經(jīng)沒有,現(xiàn)在使用的是spring-beans-5.0.12這個(gè)版本

2.3.2 子工程顯示指定版本

顯示單獨(dú)聲明使用依賴的版本

2.3.3 子工程中先排除,后指定版本

如下圖,在starter-web中排除spring-webmvc,然后指定spring-webmvc的版本為6.0.9。

2.3.4 鎖定版本

方案4:鎖定版本,我們最常使用的解決方式,是使用dependencyManagement統(tǒng)一對依賴的版本進(jìn)行定義。這樣的話,導(dǎo)入依賴的時(shí)候就會(huì)直接使用我們鎖定的依賴版本。

這里要注意兩點(diǎn),版本鎖定和【使用路徑優(yōu)先原則不同,使用路徑優(yōu)先原則,是實(shí)實(shí)在在地將jar包給引入到pom文件中】,而版本鎖定只是規(guī)定了要使用的版本號,只有真實(shí)用到了相關(guān)的依賴,才生效。同時(shí),版本鎖定可以更集中地約束和規(guī)定依賴版本,這種優(yōu)勢是其他方法所不能達(dá)到的。
當(dāng)然了,如果只是簡單的小型項(xiàng)目,使用其他方式可能是更好的解決方法。

http://www.dbjr.com.cn/program/318190efu.htm

三 案例

排除指定版本

3.1 沖突說明

1.沖突依賴描述

  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.2.4.RELEASE</version>
      <exclusions>
        <exclusion>
          <artifactId>spring-beans</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>5.0.12.RELEASE</version>
    </dependency>

2.說明:從下向上看

spring-aop 版本5.0.12版本

spring-webmvc4.2.4 依賴于spring-web 4.2.4 ,spring-web-4.2.4依賴于spring-aop4.2.4 版本

沖突版本:spring-aop:5.0.12 和spring-aop4.2.4 沖突

3.2 解決方法

排除掉spring-aop4.2.4這個(gè)版本,保留spring-aop:5.0.12 這個(gè)版本

查看maven坐標(biāo):在4.2.4-spirng-webmvc排除掉spring-aop4.2.4版本,刷新pom,重新拉包,如圖

4.查看沖突已解決:再次點(diǎn)擊【conflicts】查看aop的沖突已經(jīng)沒有了

四 案例:子工程指定具體版本

4.1 沖突說明

4.2 排除方法

在父工程中的pom文件中聲明沖突依賴的具體版本。如圖,這里指定:dpsn-appas-oltp-plugin-api的版本為1.0.0

五 案例 鎖定版本*

5.1 沖突說明

鎖定版本,我們最常使用的解決方式,是使用dependencyManagement統(tǒng)一對依賴的版本進(jìn)行定義。這樣的話,導(dǎo)入依賴的時(shí)候就會(huì)直接使用我們鎖定的依賴版本。

這里在父工程的pom里面<dependecyManagement>中的<dependencies>標(biāo)簽中,指定使用版本

<dependency>
  <groupId>com.pab.dpscn</groupId>
  <artifactId>corebankpulltest-message</artifactId>
  <version>1.0.0-dev-test-SNAPSHOT</version>
</dependency>

詳情見下圖

5.2 解決方法

1.這里查看依賴要從上向下看:可以看到:

Clearingledger-ledger-1.0.0-snapshot依賴于Clearingledger-ledger-facade-1.0.0-snapshot

Clearingledger-ledger-facade-1.0.0-snapshot依賴于corebankpulltest-message-1.0.0-dev-snapshot

沖突版本為:corebankpulltest-message-1.0.0-dev-snapshot和corebankpulltest-message-1.0.0-dev-test-snapshot版本

2.解決辦法:在父工程的dependencyManagement標(biāo)簽中鎖定版本使用corebankpulltest-message:1.0.0-dev-test-snapshot版本

到此這篇關(guān)于使用maven-helper插件解決jar包沖突的文章就介紹到這了,更多相關(guān)maven-helper插件解決jar包沖突內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot整合logback實(shí)現(xiàn)日志管理操作

    springboot整合logback實(shí)現(xiàn)日志管理操作

    本章節(jié)是記錄logback在springboot項(xiàng)目中的簡單使用,本文將會(huì)演示如何通過logback將日志記錄到日志文件或輸出到控制臺(tái)等管理操作,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • Netty搭建WebSocket服務(wù)器實(shí)戰(zhàn)教程

    Netty搭建WebSocket服務(wù)器實(shí)戰(zhàn)教程

    這篇文章主要介紹了Netty搭建WebSocket服務(wù)器實(shí)戰(zhàn),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-03-03
  • Java中的List接口實(shí)現(xiàn)類LinkList和ArrayList詳解

    Java中的List接口實(shí)現(xiàn)類LinkList和ArrayList詳解

    這篇文章主要介紹了Java中的List接口實(shí)現(xiàn)類LinkList和ArrayList詳解,List接口繼承自Collection接口,是單列集合的一個(gè)重要分支,實(shí)現(xiàn)了List接口的對象稱為List集合,在List集合中允許出現(xiàn)重復(fù)的元素,所有的元素是以一種線性方式進(jìn)行存儲(chǔ)的,需要的朋友可以參考下
    2024-01-01
  • java中Scanner輸入用法實(shí)例

    java中Scanner輸入用法實(shí)例

    Java的Scanner用法,主要用于算法筆試時(shí)的控制臺(tái)輸入,下面這篇文章主要給大家介紹了關(guān)于java中Scanner輸入用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 關(guān)于Long和Integer相互轉(zhuǎn)換方式

    關(guān)于Long和Integer相互轉(zhuǎn)換方式

    這篇文章主要介紹了關(guān)于Long和Integer相互轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Java redis使用場景介紹

    Java redis使用場景介紹

    Redis是一個(gè)完全開源、遵守 BSD 協(xié)議、簡單的、高效的、分布式的、基于內(nèi)存的k-v數(shù)據(jù)庫,本篇文章帶你了解它的使用場景,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 巧妙mybatis避免Where 空條件的尷尬

    巧妙mybatis避免Where 空條件的尷尬

    這篇文章主要介紹了巧妙mybatis避免Where 空條件的尷尬,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 詳解Spring框架下向異步線程傳遞HttpServletRequest參數(shù)的坑

    詳解Spring框架下向異步線程傳遞HttpServletRequest參數(shù)的坑

    這篇文章主要介紹了詳解Spring框架下向異步線程傳遞HttpServletRequest參數(shù)的坑,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • springIoc及注解的使用實(shí)例詳解

    springIoc及注解的使用實(shí)例詳解

    注解(Annotation)是一種在 Java 程序中以元數(shù)據(jù)的形式對代碼進(jìn)行標(biāo)記和說明的機(jī)制,它可以被添加到類、方法、字段、參數(shù)等程序元素上,用于提供額外的信息和指示,本文給大家介紹springIoc及注解的使用,感興趣的朋友一起看看吧
    2024-02-02
  • 詳解Spring Boot 部署與服務(wù)配置

    詳解Spring Boot 部署與服務(wù)配置

    本篇文章主要介紹了詳解Spring Boot 部署與服務(wù)配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03

最新評論