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

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

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

一 mavenHelper插件的介紹安裝

1.1 介紹

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

1.2 安裝

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

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

1.3 helper的使用

1.當Maven Helper 插件安裝成功后,打開項目中的pom文件,下面就會多出一個試圖

2.helper的界面

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

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

二 jar包沖突說明

2.1 說明

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

2.2 依賴順序

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

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

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

2.3 解決思路

2.3.1 *排除指定的版本*

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

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

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

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

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

2.3.2 子工程顯示指定版本

顯示單獨聲明使用依賴的版本

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

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

2.3.4 鎖定版本

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

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

http://chabaoo.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這個版本,保留spring-aop:5.0.12 這個版本

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

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

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

4.1 沖突說明

4.2 排除方法

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

五 案例 鎖定版本*

5.1 沖突說明

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

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

<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標簽中鎖定版本使用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實現(xiàn)日志管理操作

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

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

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

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

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

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

    java中Scanner輸入用法實例

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

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

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

    Java redis使用場景介紹

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

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

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

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

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

    springIoc及注解的使用實例詳解

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

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

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

最新評論