springboot依賴沖突問題及解決過程
項目場景:
新搭了一個springboot 2.3.7.RELASE的框架,在集成mysql,tkMapper,mybatis的過程中,啟動報錯。
問題描述:
提示各種依賴的錯誤 通過idea的功能解決沖突依賴,嘗試了多次,也不行 還嘗試過刪除可能意外引入的jar:
原因分析:
在之前搭的一個分布式項目里面有這些基礎(chǔ)的配置,依賴按照版本拿過來一個個添加,嘗試,依然不行。 在舊的項目可以,在這里就不行。 把springboot版本改成和舊項目一樣,也不可以。
解決方案:
最后,把代碼全部刪掉(因為是新項目,所以原本也沒幾個文件),只留下了一個啟動類。然后maven依賴只留下了springboot的test 和 web,嘗試啟動,是可以的。 接著,慢慢加mysql-collection 依賴,druid依賴。到這里的時候報錯了。 查看控制臺,發(fā)現(xiàn)報錯的是一個1.5.7的springboot。想著把它通過exclusions去掉,然后接著clear, install 打包,又報錯了。又是一個新的錯誤。 這時候想起來在最開始處理依賴的時候,就是各種exclusions去除jar包,就是因為版本的問題。 想著添加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)這時候啟動報的錯誤正常了!
這里說的正常,是指配置什么,報的是它相關(guān)的錯誤,而不是一些稀奇古怪都沒見過的錯誤。
查看了下mysql的配置文件沒問題,然后根據(jù)這個錯誤百度下:
Unsatisfied dependency expressed through field 'basicProperties
在項目里面復(fù)制進來,沒有輸入版本號,發(fā)現(xiàn)直接自動引入了當前springboot對應(yīng)的版本。
然后重啟,成功了。
總結(jié)
看了下之前寫的項目,發(fā)現(xiàn)也是有加parent的,可能是時間長了,忘記了,這次做個筆記記錄一下。
這次為啥不加呢,因為搭建的maven工程是有module的,父子工程。
了解了maven的dependencyManagement
后,就想通過它來管理jar包依賴,所以就沒加parent了。
到此這篇關(guān)于springboot依賴沖突解決過程的文章就介紹到這了,更多相關(guān)springboot依賴沖突內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
成功解決IDEA2020 Plugins 連不上、打不開的方法
這篇文章主要介紹了成功解決IDEA2020 Plugins 連不上、打不開的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06java中Scanner.next()和Scanner.nextLine的區(qū)別圖文詳解
使用java語言編程,最常用的輸入就是使用Scanner了,它的構(gòu)造很簡單,這篇文章主要給大家介紹了關(guān)于java中Scanner.next()和Scanner.nextLine區(qū)別的相關(guān)資料,需要的朋友可以參考下2024-02-02