springboot依賴沖突問題及解決過程
項(xiàng)目場景:
新搭了一個springboot 2.3.7.RELASE的框架,在集成mysql,tkMapper,mybatis的過程中,啟動報(bào)錯。
問題描述:
提示各種依賴的錯誤 通過idea的功能解決沖突依賴,嘗試了多次,也不行 還嘗試過刪除可能意外引入的jar:

原因分析:
在之前搭的一個分布式項(xiàng)目里面有這些基礎(chǔ)的配置,依賴按照版本拿過來一個個添加,嘗試,依然不行。 在舊的項(xiàng)目可以,在這里就不行。 把springboot版本改成和舊項(xiàng)目一樣,也不可以。
解決方案:
最后,把代碼全部刪掉(因?yàn)槭切马?xiàng)目,所以原本也沒幾個文件),只留下了一個啟動類。然后maven依賴只留下了springboot的test 和 web,嘗試啟動,是可以的。 接著,慢慢加mysql-collection 依賴,druid依賴。到這里的時候報(bào)錯了。 查看控制臺,發(fā)現(xiàn)報(bào)錯的是一個1.5.7的springboot。想著把它通過exclusions去掉,然后接著clear, install 打包,又報(bào)錯了。又是一個新的錯誤。 這時候想起來在最開始處理依賴的時候,就是各種exclusions去除jar包,就是因?yàn)榘姹镜膯栴}。 想著添加parent試試。 在pom.xml里面添加parent,通過parent控制springboot依賴。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
然后把前面去除的exclusions配置去掉,發(fā)現(xiàn)這時候啟動報(bào)的錯誤正常了!
這里說的正常,是指配置什么,報(bào)的是它相關(guān)的錯誤,而不是一些稀奇古怪都沒見過的錯誤。

查看了下mysql的配置文件沒問題,然后根據(jù)這個錯誤百度下:
Unsatisfied dependency expressed through field 'basicProperties

在項(xiàng)目里面復(fù)制進(jìn)來,沒有輸入版本號,發(fā)現(xiàn)直接自動引入了當(dāng)前springboot對應(yīng)的版本。

然后重啟,成功了。

總結(jié)
看了下之前寫的項(xiàng)目,發(fā)現(xiàn)也是有加parent的,可能是時間長了,忘記了,這次做個筆記記錄一下。
這次為啥不加呢,因?yàn)榇罱ǖ膍aven工程是有module的,父子工程。
了解了maven的dependencyManagement后,就想通過它來管理jar包依賴,所以就沒加parent了。

到此這篇關(guān)于springboot依賴沖突解決過程的文章就介紹到這了,更多相關(guān)springboot依賴沖突內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
成功解決IDEA2020 Plugins 連不上、打不開的方法
這篇文章主要介紹了成功解決IDEA2020 Plugins 連不上、打不開的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
java中BigDecimal進(jìn)行加減乘除的基本用法
大家應(yīng)該對于不需要任何準(zhǔn)確計(jì)算精度的數(shù)字可以直接使用float或double運(yùn)算,但是如果需要精確計(jì)算的結(jié)果,則必須使用BigDecimal類,而且使用BigDecimal類也可以進(jìn)行大數(shù)的操作。下面這篇文章就給大家介紹介紹關(guān)于java中BigDecimal進(jìn)行加減乘除的基本用法。2016-12-12
Java超詳細(xì)講解設(shè)計(jì)模式之一的單例模式
單例模式(Singleton Pattern)是 Java 中最簡單的設(shè)計(jì)模式之一。這種類型的設(shè)計(jì)模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式2022-03-03
java中Scanner.next()和Scanner.nextLine的區(qū)別圖文詳解
使用java語言編程,最常用的輸入就是使用Scanner了,它的構(gòu)造很簡單,這篇文章主要給大家介紹了關(guān)于java中Scanner.next()和Scanner.nextLine區(qū)別的相關(guān)資料,需要的朋友可以參考下2024-02-02

