小林的艷遇
這天小林無所事事準備下班,突然聽見隔壁小美在哭泣,正(hao)義(se)的小林過去關切的問 “小美,你怎么了?是不是被該死的王經理欺負了?”,
小美抽泣著點點頭 “經理叫我把這個 Maven 的紅色波浪線去掉,可是我一直去不掉,”
正(hao)義(se)的小林心想又是一次約女神吃飯的好機會,小林立馬說 “交給我了,這么晚了,我弄完一起吃個飯啊?”
小美看著小林說,“你真的可以嗎?”
小林拍了拍胸脯說 “男人,有什么不行的”
小美的困惑(何為依賴沖突?)
小林,看了看螢屏

很明顯,就是這個 fastjson 包在搗鬼
小林沖小美笑了一笑,“小美啊,這個紅色波浪線是因為依賴沖突,你看你的 fastjson 這個包,是不是顯示 omitted for conflict with 1.2.47,這個意思就是你的 fastjson 包產生了沖突,我換個說法給你解釋,就比如說你的專案中用了 A jar 包依賴 C jar 包, B jar 包也依賴 C jar包,Maven 就幫你下載了兩個版本的 C jar 包,然后他們就產生了依賴沖突,這時Maven會依據依賴路徑最短優先原則,來決定使用哪個版本的 jar 包,而另一個無用的jar包則未被使用,這就是所謂的依賴沖突,”
小美激動的望著小林,眼神里流露出一絲崇拜的眼神,
小林心里樂開了花,接著說:“其實吧,在大多數情況下,jar 包沖突是不會影響我們系統正常的運行的,但是不排除在一些極端的情景下會出現找不到類的例外 ,我們作為一名嚴謹的程式員(為了 KPI 考慮),一定要把這個問題解決掉”
小美同意點了點頭說,“小林,你會解決嗎?”
小林微微一笑,“問題不大”
來吧,展示 (初步解決依賴沖突問題)
解決依賴沖突的方法,就是使用Maven提供的 exclusion 標簽,exclusion 標簽需要放在 標簽內部,就像下面這樣:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<exclusions>
<exclusion>
<artifactId>fastjson</artifactId>
<groupId>com.alibaba</groupId>
</exclusion>
</exclusions>
</dependency>
果然問題解決

再來一手 (批量解決依賴沖突)
小美:“小林,你太厲害了吧,我這還有個專案,你能都幫我解決下紅色波浪線嗎?解決完我們就去樓下的沙縣小吃吃飯”
小林隨意揮揮手,“小case”
小美點開了一個新的專案,小林徹底嚇呆,竟然有20多處紅色波浪線,小林心想 “這樣一個個 exclusion,隔壁老王的孩子都能去沙縣打醬油了
呸呸呸,想歪了,還是幫小美解決問題吧,
小林 :“小美,你這個專案依賴沖突太多了,我們最好用 Maven Helper 這個 Idea 插件來解決這個問題,好多人都在用,官網上好評如潮”

小美:“哇,這么好用,那你能教我怎么下載嗎?”
小林:“當然可以啊,你可以點這個鏈接下載,然后在沒有改 Idea 快捷鍵的情況下,按住 Ctrl + Alt + S 打開我們的 Settings,然后點擊 Plguins ,選擇 Install plguin from disk... ,選擇中我們從官網下載的檔案就可以啦,記得重啟 Idea 哦 ”
小美:“好麻煩啊,上次專案組的王哥直接在 Idea 就在幫我裝了 Lombok ,雖然我也不知道那是什么東西,但是他就是直接在 Idea 里面裝的,超級厲害的”
小林:“我也會!”
- 還是一樣,按住 Ctrl + Alt + S 打開我們的 Settings,選擇 File -> Settings 也是可以的
- 選擇 Plunins, 查詢 Maven Helper,如果沒有,點擊 Search in repositories
- 選擇 Maven Helper, 點擊 Install

- 安裝完畢后重啟 idea
笨笨的小美不會用(Maven-Help 使用方法)

崇拜 + 1 (Idea 自帶查看依賴沖突的方法)
小林 :“小美,你懂了吧,就是這樣這樣,那樣那樣,就可以解決依賴沖突啦,接下來我在教你一手,也很實用哦”
小美:“好啊,小林,你人也太好了吧”
小林:“what?這是好人卡嗎?”
小林:“你這樣這樣,那樣那樣,就可以查看Maven依賴關系結構圖,紅色的就是依賴沖突的地方,藍色就是正常的依賴,當然你也可以Ctrl+Alt+Shift+U,也可以查看哦”


小林:“小美,我們去吃飯?”
小美:“可以啊,可是樓下沙縣關門了,我們下次吧,我先下班回家啦”
小林默默呆在原地,流下了工具人的淚水!
END!
作者:isysc1
鏈接:https://juejin.im/post/5f0d904ae51d453495701989
來源:掘金
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/26654.html
標籤:其他
