真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

maven依賴樹怎么查看以及沖突解決

本篇內(nèi)容主要講解“maven 依賴樹怎么查看以及沖突解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習“maven 依賴樹怎么查看以及沖突解決”吧!

成都創(chuàng)新互聯(lián)專注于新興企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城系統(tǒng)網(wǎng)站開發(fā)。新興網(wǎng)站建設(shè)公司,為新興等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

maven 依賴樹查看以及沖突解決

1. 查看依賴樹

maven 依賴樹怎么查看以及沖突解決

如果你使用idea可以點擊上圖按鈕,會有一個彈出框,選擇一個項目工程,使用命令:

mvn dependency:tree

[INFO] +- org.springframework:spring-webmvc:jar:4.2.2.RELEASE:compile
[INFO] |  +- org.springframework:spring-beans:jar:4.2.2.RELEASE:compile
[INFO] |  +- org.springframework:spring-context:jar:4.2.2.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-aop:jar:4.2.2.RELEASE:compile
[INFO] |  |     \- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  +- org.springframework:spring-core:jar:4.2.2.RELEASE:compile
[INFO] |  |  \- commons-logging:commons-logging:jar:1.2:compile
[INFO] |  +- org.springframework:spring-expression:jar:4.2.2.RELEASE:compile

會出現(xiàn)類似的依賴結(jié)構(gòu)。上面就是一個依賴樹結(jié)構(gòu),并有層級關(guān)系,我們可以看出他們的依賴父子關(guān)系。

** 其中+-\- 并無實際含義,只是方便展示查看。 **

2. 依賴樹查看擴展命令

1. -Dverbose

verbose 的中文翻譯為冗余的意思,這個命令就是查看更加具體和冗余的依賴樹信息。 使用示例:

dependency:tree -Dverbose=true

2. -Dincludes

這個參數(shù)就是查看你感興趣的依賴,支持正則表示式。如我只想查看hadoop相關(guān)的依賴,示例:

dependency:tree -Dincludes=*hadoop*

輸出:

com.mytest.server:mytest-server:jar:1.0-SNAPSHOT
+- org.apache.hive:hive-jdbc:jar:3.1.2:compile
|  \- org.apache.hive:hive-shims:jar:3.1.2:compile
|     \- org.apache.hive.shims:hive-shims-0.23:jar:3.1.2:runtime
|        \- org.apache.hadoop:hadoop-yarn-server-resourcemanager:jar:3.1.0:runtime
|           +- org.apache.hadoop:hadoop-yarn-server-common:jar:3.1.0:compile
|           +- org.apache.hadoop:hadoop-yarn-server-applicationhistoryservice:jar:3.1.0:runtime
|           \- org.apache.hadoop:hadoop-yarn-server-web-proxy:jar:3.1.0:runtime
+- org.apache.hadoop:hadoop-common:jar:3.1.2:compile
|  +- org.apache.hadoop:hadoop-annotations:jar:3.1.2:compile
|  \- org.apache.hadoop:hadoop-auth:jar:3.1.2:compile
+- org.apache.hive:hive-exec:jar:3.1.2:compile
|  \- org.apache.hadoop:hadoop-yarn-registry:jar:3.1.0:compile
|     +- org.apache.hadoop:hadoop-yarn-api:jar:3.1.0:compile
|     \- org.apache.hadoop:hadoop-yarn-common:jar:3.1.0:compile
+- org.apache.hbase:hbase-common:jar:1.1.2:compile
|  \- org.apache.hadoop:hadoop-mapreduce-client-core:jar:2.5.1:compile
\- org.apache.hbase:hbase-server:jar:1.1.2:compile
   +- org.apache.hadoop:hadoop-client:jar:2.5.1:compile
   |  +- org.apache.hadoop:hadoop-mapreduce-client-app:jar:2.5.1:compile
   |  |  +- org.apache.hadoop:hadoop-mapreduce-client-common:jar:2.5.1:compile
   |  |  |  \- org.apache.hadoop:hadoop-yarn-client:jar:2.5.1:compile
   |  |  \- org.apache.hadoop:hadoop-mapreduce-client-shuffle:jar:2.5.1:compile
   |  \- org.apache.hadoop:hadoop-mapreduce-client-jobclient:jar:2.5.1:compile
   \- org.apache.hadoop:hadoop-hdfs:jar:2.5.1:compile
3. -DoutputFile

默認的依賴樹輸出是到控制臺的,你可以重定向到一個你指定的文件。如:

dependency:tree -Dincludes=*hadoop* -DoutputFile=你指定的文件

這樣方便后續(xù)查看。

3. 沖突解決

以解決guava為例,查看命令可以使用-Dverbose,你可以看到多個guava版本,有很多還有提示沖突了(com.google.guava:guava:jar:16.0.1:runtime - omitted for conflict with 11.0.2)

你可以手動解決沖突,引入適配版本,然后依賴包中依賴了guava包的使用 exclusion進行排除,如:


        org.apache.hbase
        hbase-common
        1.1.2
        
            
                com.google.guava
                guava
             
    

4. shade解決沖突

但是還有時候你會遇到更糟糕的情況,不同包依賴的包互相沖突,并且這個沖突包的兩個版本不可兼容,如guava。如我遇到的org.apache.hbase和spring的依賴guava沖突,但是他們依賴不同版本guava,不可替換,此時好的辦法就是使用shade版本,如:


        
            org.apache.hbase
            hbase-shaded-client
            2.4.1
        

這個shade包可以去maven官網(wǎng)下載,通常官方打的依賴包還是可靠的。 shade原理: 為什么用shade版本就可以了?其實很簡單,就是修改其中任意一方的依賴路徑來解決的,其實就是package值。如Gson類的package正常值是package com.google.gson;,在hbase-shaded-client中就是package org.apache.hbase.thirdparty.com.google.gson;,如果package不同,自然不會有沖突了。

到此,相信大家對“maven 依賴樹怎么查看以及沖突解決”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習!


標題名稱:maven依賴樹怎么查看以及沖突解決
鏈接地址:http://weahome.cn/article/jssssi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部