1. 程式人生 > >maven排查衝突jar包

maven排查衝突jar包

1. 問題描述

使用maven可以非常方便的管理我們專案的各種依賴,但是也存在著一些問題。當我們在pom.xml檔案中引入新的jar包,那麼該jar包依賴的其它jar包也會自動被下載。如果這些自動下載的jar包和專案中已存在的jar包版本不一致,那麼就會造成jar包版本的衝突。

2. 解決方法

我們可以使用mvn命令來排查專案中存在版本衝突的jar包。

  • 首先,在命令列跳轉到當前專案路徑(如果使用Idea等工具,可以直接在終端Terminal中執行mvn命令),為了便於查詢我們可以把依賴關係寫入一個臨時文字檔案tree.txt
      mvn dependency:tree -Dverbose > tree.txt
  • 然後,開啟生成的tree.txt檔案,全域性搜尋"conflict"關鍵字,即可找到版本衝突的jar包。
[INFO] +- io.springfox:springfox-swagger2:jar:2.6.1:compile
[INFO] |  +- io.swagger:swagger-annotations:jar:1.5.10:compile
[INFO] |  +- io.swagger:swagger-models:jar:1.5.10:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.1:compile (version managed from 2.4.5)
[INFO] |  |  +- (org.slf4j:slf4j-api:jar:1.7.21:compile - version managed from 1.7.10; omitted for duplicate)
[INFO] |  |  \- (io.swagger:swagger-annotations:jar:1.5.10:compile - omitted for duplicate)
[INFO] |  +- io.springfox:springfox-spi:jar:2.6.1:compile
[INFO] |  |  \- io.springfox:springfox-core:jar:2.6.1:compile
[INFO] |  |     +- (com.google.guava:guava:jar:18.0:compile - omitted for duplicate)
[INFO] |  |     +- (com.fasterxml:classmate:jar:1.3.1:compile - omitted for duplicate)
[INFO] |  |     +- (org.slf4j:slf4j-api:jar:1.7.21:compile - version managed from 1.6.3; omitted for duplicate)
[INFO] |  |     +- (org.springframework.plugin:spring-plugin-core:jar:1.2.0.RELEASE:compile - omitted for duplicate)
[INFO] |  |     \- (org.springframework.plugin:spring-plugin-metadata:jar:1.2.0.RELEASE:compile - omitted for duplicate)
[INFO] |  +- io.springfox:springfox-schema:jar:2.6.1:compile
[INFO] |  |  +- (io.springfox:springfox-core:jar:2.6.1:compile - omitted for duplicate)
[INFO] |  |  \- (io.springfox:springfox-spi:jar:2.6.1:compile - omitted for duplicate)
[INFO] |  +- io.springfox:springfox-swagger-common:jar:2.6.1:compile
[INFO] |  |  +- (io.swagger:swagger-annotations:jar:1.5.10:compile - omitted for duplicate)
[INFO] |  |  +- (io.swagger:swagger-models:jar:1.5.10:compile - omitted for duplicate)
[INFO] |  |  +- (io.springfox:springfox-spi:jar:2.6.1:compile - omitted for duplicate)
[INFO] |  |  +- (io.springfox:springfox-schema:jar:2.6.1:compile - omitted for duplicate)
[INFO] |  |  +- (io.springfox:springfox-spring-web:jar:2.6.1:compile - omitted for duplicate)
[INFO] |  |  +- (com.google.guava:guava:jar:18.0:compile - omitted for duplicate)
[INFO] |  |  +- (com.fasterxml:classmate:jar:1.3.1:compile - omitted for duplicate)
[INFO] |  |  +- (org.slf4j:slf4j-api:jar:1.7.21:compile - version managed from 1.7.10; omitted for duplicate)
[INFO] |  |  +- (org.springframework.plugin:spring-plugin-core:jar:1.2.0.RELEASE:compile - omitted for duplicate)
[INFO] |  |  \- (org.springframework.plugin:spring-plugin-metadata:jar:1.2.0.RELEASE:compile - omitted for duplicate)
[INFO] |  +- io.springfox:springfox-spring-web:jar:2.6.1:compile
[INFO] |  |  +- (com.google.guava:guava:jar:18.0:compile - omitted for duplicate)
[INFO] |  |  +- (com.fasterxml:classmate:jar:1.3.1:compile - omitted for duplicate)
[INFO] |  |  +- (org.slf4j:slf4j-api:jar:1.7.21:compile - version managed from 1.7.10; omitted for duplicate)
[INFO] |  |  +- (org.springframework.plugin:spring-plugin-core:jar:1.2.0.RELEASE:compile - omitted for duplicate)
[INFO] |  |  +- (org.springframework.plugin:spring-plugin-metadata:jar:1.2.0.RELEASE:compile - omitted for duplicate)
[INFO] |  |  \- (io.springfox:springfox-spi:jar:2.6.1:compile - omitted for duplicate)
[INFO] |  +- (com.google.guava:guava:jar:18.0:compile - omitted for ---<conflict 關鍵字>--- with 15.0)
[INFO] |  +- com.fasterxml:classmate:jar:1.3.1:compile
[INFO] |  +- org.slf4j:slf4j-api:jar:1.7.21:compile

相關推薦

maven排查衝突jar

1. 問題描述 使用maven可以非常方便的管理我們專案的各種依賴,但是也存在著一些問題。當我們在pom.xml檔案中引入新的jar包,那麼該jar包依賴的其它jar包也會自動被下載。如果這些自動下載的jar包和專案中已存在的jar包版本不一致,那麼就會造成ja

Maven中日誌jar衝突報錯:Class path contains multiple SLF4J bindings

錯誤表現: SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/D:/learn

maven工具解決jar衝突問題或重複載入問題

在使用maven開發專案的過程中,經常會遇到jar包重複載入或者jar包衝突的問題的,但是由於有些jar是由於maven的依賴載入自動載入進來的, 而不是開發者自己配置的,特別是當專案中pom中配置的jar包依賴本身很多時,開發者靠自己的經驗,有時很難找出是哪

eclipse利用maven工具解決jar衝突問題

專案中出現的問題如下: Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory 原因 :  maven自動載

maven專案解決jar衝突的四種方式

依賴一個jar包往往會下載相互關聯的jar包這就是依賴傳遞 依賴傳遞經常出現ja包衝突,解決方案:直接排除指定的jar包 1、排除原則 <exclusions> <exc

IDEA檢視Maven專案中jar衝突

在Maven專案中pom.xml中的jar包下載的過程中,依賴可能會出現jar依賴衝突的問題,IDEA為我們提供了maven檢視 在IDEA工具中檢視jar衝突 進入到Maven專案的pom.xml檔案中使用IDEA中的快捷鍵:ctrl+alt+shift+u,就

Failed to read artifact descriptor for xxx:jarMaven項目jar依賴配置的問題解決

描述 tin ava 打開 文件 我們 記事本 last .com 在開發的過程中,尤其是新手,我們經常遇到Maven下載依賴jar包的問題,也就是遇到“Failed to read artifact descriptor for xxx:jar”的

maven下載的jar可以查看源碼

tin 需要 settings xml文件 ava mave down doc ref 1:Maven命令下載源碼和javadocs 當在IDE中使用Maven時如果想要看引用的jar包中類的源碼和javadoc需要通過maven命令下載這些源碼,然後再進行引入,通過mv

Maven將獨立jar安裝到本地庫

clas 獨立 tid admin users use div mac com 對於一些不在maven庫中的包,同時又希望便利的在maven項目中引用,可以將其安裝到本地倉庫: mvn install:install-file -DgroupId=com.domain

Maven上傳jar到私服

new posit setting 用戶 lease release -1 str family 1、認證,在M2_HOME/conf/settings.xml配置用戶名密碼 2、在將要上傳項目的pom.xml中配置jar包上傳路徑url <distrib

Maven引入本地Jar並打包進War

ant == als sso 方式 project pri b2c system Maven引入本地Jar包並打包進War包中 1.概述 在平時的開發中,有一些Jar包因為種種原因,在Maven的中央倉庫中沒有收錄,所以就要使用本地引入的方式加入進來。 2. 拷貝至項目根目

maven安裝第三方jar到本地倉庫

color packaging 需要 pid 生成 art 倉庫 span jar下載   添加項目依賴的時候,有些jar下載不下來,只有手動下載或安裝到本地倉庫了 首先下載所需要的jar,放到指定的文件夾 然後執行如下命令: mvn install:in

maven中下載jar源碼和javadoc

clip load format code 引用 over resolve -i ise 1:Maven命令下載源碼和javadocs當在IDE中使用Maven時如果想要看引用的jar包中類的源碼和javadoc需要通過maven命令下載這些源碼,然後再進行引入,通過mvn

maven發布jar到nexus

復用 配置 jar 最新 settings 靈活性 完成 自動 use 在編碼過程中,有些通用的代碼模塊,有時候我們不想通過復制拷貝來粗暴地復用,因為這樣不僅體現不了變化,也不利於統一管理。這裏我們使用maven deploy的方式,將通用的模塊打成jar包,發布到nexu

jmeter maven自動移動jarwindows 批處理命令

col 工具 lean tdi art apach director 當前 tar jmeter項目maven文件下面放這.bat 工具,可以把必要的jar包移動到jmeter響應的文件夾下面 rem 本文件放在jmeter 腳本maven項目根目錄下面,和pom.xml

maven 引入外部jar的幾種方式

dep repo 執行 install tor 顯式 pat comment osi 方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud</groupId

idea中maven導入jar

art body truct 直接 直接下載 圖片 導入jar cat 打開 導入servlet和jsp的jar包 要想在pom.xml中配置一個依賴,必須要知道這個依賴庫的坐標:groupId,artifacatId,version 1.可以通過查閱依賴庫的資料獲取坐

maven安裝本地jar

source nap all div mini epo snap repo users mvn install:install-file -Dfile=C:\Users\Administrator\.m2\repository\org\csource\fastdfs-cl

maven可執行jar

maven 插件1: <build> <plugins> <!-- 1. 生成MANIFEST.MF文件 --> <plugin> <groupId>org.apache.maven.plugins</gro

maven將本地jar導入本地倉庫

desktop 本地jar包 data nbsp .com depend div art cti 從maven中央倉庫下載下來的jar包手動導入本地庫,如下圖 以下其中maven的dependency <dependency><groupId>or