Maven依賴調解:解決依賴衝突
Maven 依賴調解的第一原則:路徑最短者優先。
假設專案 A 中存在如下依賴關係:
A -> B -> C -> X(V1)
A -> D -> X(V2)
X(V1)的路徑深度為 3,X(V2) 的路徑深度為 2,X(V2) 的路徑深度比 X(V1) 要短,所以 X(V2) 會被 Maven 解析使用。
Maven 依賴調解的第二原則:最先宣告者優先。
假設專案 A 中存在如下依賴關係:
A -> B -> Y(V1)
A -> C -> Y(V2)
Y(V1) 和 Y(V2) 的依賴深度都為 2,所以 Maven 依賴調解的第一原則並不能解決這樣的問題。在依賴路徑深度相等的前提下,根據在 POM 中依賴宣告的先後順序,最先宣告者會被解析使用。該例中如果 B 的依賴宣告在 C 之前,那麼 Y(V1) 就會被解析使用;如果 C 的依賴宣告在 B 之前,那麼 Y(V2)就會被解析使用。
---------------------
作者:一朵白菜
來源:CSDN
原文:https://blog.csdn.net/hnwhnw86/article/details/79467083
版權宣告:本文為博主原創文章,轉載請附上博文連結!
相關推薦
Maven依賴調解:解決依賴衝突
Maven 依賴調解的第一原則:路徑最短者優先。 假設專案 A 中存在如下依賴關係: A -> B -> C -> X(V1) A -> D -> X(V2) X(V1)的路徑深度為 3,X(V2) 的路徑深度為 2,X(V2) 的路徑深度比
IntelliJ IDEA查詢maven依賴關係,解決包衝突
無論走到哪裡,都應該記住,過去都是假的,回憶是一條沒有盡頭的路,一切以往的春天都不復存在,就連那最堅韌而又狂亂的愛情歸根結底也不過是一種轉瞬即逝的現實。——馬爾克斯《百年孤獨》 1、引言 最近在開發maven構建的專案時,由於專案依賴較多,導致了
IDEA maven專案查自動檢視依賴關係,解決包衝突問題
在maven專案中找到pom.xml,開啟。 <dependencies> <dependency> <groupId>org.apache.storm</groupId&
Spark2.3.2原始碼解析: 5. RDD 依賴關係:寬依賴與窄依賴
Spark中RDD的高效與DAG(有向無環圖)有很大的關係,在DAG排程中需要對計算的過程劃分Stage,劃分的依據就是RDD之間的依賴關係。RDD之間的依賴關係分為兩種,寬依賴(wide dependency/shuffle dependency)和窄依賴(narrow
angular依賴注入:angular 依賴注入原理
依賴注入(Dependency Injection,簡稱DI)是像C#,java等典型的面嚮物件語言框架設計原則控制反轉的一種典型的一種實現方式,angular把它引入到js中,介紹angular依賴注入的使用方式的文章很多,angular官方的文件,也有很詳細的說明。但
30行程式碼讓你理解angular依賴注入:angular 依賴注入原理
依賴注入(Dependency Injection,簡稱DI)是像C#,java等典型的面嚮物件語言框架設計原則控制反轉的一種典型的一種實現方式,angular把它引入到js中,介紹angular依賴注入的使用方式的文章很多, angular官方的文件,也有很詳細的說明。但介紹原理的較少,angular程式碼
解決maven中包衝突,去除依賴包或修改依賴包版本
這幾年springBoot很火,本人在遷移專案的過程中遇到了一些問題,比如以前用的springMVC依賴了org.json包,轉成了springBoot專案之後,由於springBoot預設依賴了其他的包,有用到org.json。但是卻沒有new JSONObject(Ob
maven 解決依賴衝突 omiit for conflict
maven依賴衝突,原因: 衝突寫法如下: <dependency> <groupId>org.apache.httpcomponents</groupId> <ar
【maven】maven檢視專案依賴並解決依賴衝突的問題
一、問題 專案開發過程中,經常會遇到jar衝突,然後maven根據自己的規則進行衝突解決,導致專案在執行的過程中報錯。 1、如何檢視當前專案的maven的依賴樹? 2、如何從依賴樹中找到自己預期的版本,是被那個jar給覆蓋了? 3、如何進行依賴衝突解決? 二、解決問題 1、如何檢視
程式集引用版本衝突問題的解決辦法:合併依賴項
最近在 做 MailChimp 與網站功能 整合時,發現 MailChimp 2API 中的 MailChimp.dll 中的依賴項 SerivceStack.Text.dll (版本為3.9.71.0)與我們WebSite 中的 ServiceStack.Text.dl
Android解決依賴衝突:Program type already present
今天在編譯專案時,報錯: Program type already present: android.content.pm.IPackageDeleteObserver 就是依賴衝突,後來解決就是 雙擊shift,全域性查詢衝突的這個IPackageDeleteObserve ,發現
maven 工具的依賴樹以及解決版本包衝突問題
1、如何檢視一個工程的依賴樹 ? maven工具牛B的地方在於包的依賴匯入。如果需要新增一個第三方包,只要在pom檔案中jar的依賴就可以。在工程的左側目錄中除了External Lib包下存在很多jar包,這些jar包有直接依賴的包,也有間接依賴的
maven依賴jar包時版本衝突的解決
共有四種解決方式: 1、第一宣告優先原則: 在pom.xml配置檔案中,如果有兩個名稱相同版本不同的依賴宣告,那麼先寫的會生效。 所以,先宣告自己要用的版本的jar包即可。 2、路徑近者
Failed to read artifact descriptor for xxx:jar 的Maven項目jar包依賴配置的問題解決
描述 tin ava 打開 文件 我們 記事本 last .com 在開發的過程中,尤其是新手,我們經常遇到Maven下載依賴jar包的問題,也就是遇到“Failed to read artifact descriptor for xxx:jar”的
spring maven項目解決依賴jar包版本沖突方案
acc ans ng- amp 解決方案 depend pri expected zhong 引入:http://blog.csdn.net/sanzhongguren/article/details/71191290 在spring reference中提到一個解決s
【IDEA】IDEA中maven項目pom.xml依賴不生效解決
code CI dea color ogl end pen 分享圖片 關系 問題: 今天在web項目中需要引入poi相關jar包。查看之下才發現pom.xml中的依賴雖然已經下載到了本地倉庫 repository,但是卻沒有加入到項目路徑的 Extenal Libra
【轉】依賴註入的威力,.NET Core的魅力:解決MVC視圖中的中文被html編碼的問題
lan .config don nsa nco tor options ring 解決 有園友在博問中提了這樣一個問題 —— .NET Core 中文等非英文文字html編碼輸出問題,到我們的 ASP.NET Core 項目中一看,也是同樣的問題。 比如下面的Razor視圖
virtualenv 執行python 解決依賴衝突問題 尤其是django那種蛋疼的版本問題
Create a python virtual environment and install python dependencies. cd evalai virtualenv venv source venv/bin/activate # run this command eve
Flutter | 如何優雅的解決依賴版本衝突
https://www.jianshu.com/p/3af57fbb7efe 前言 Google推出flutter這樣一個新的高效能跨平臺(Android,ios)快速開發框架之後,被業界許多開發者所關注。我在接觸了flutter之後發現這個確實是一個好東西,好東西當然要和大家分享,對吧。
Spring-boot構建多模組依賴工程時,maven打包異常:程式包xxx不存在
在qizhi專案改版的時候, 所有程式碼都遷移好了, 但是compile的時候報程式包*****不存在, 具體到某一個類就是: 找不到符號. 下面這篇文章是正解 http://hbxflihua.iteye.com/blog/2431537 具體內容如下: =======================