springboot項(xiàng)目因?yàn)樾枰有鹿δ苡谑且胄录影?,然后寫好代碼啟動(dòng)時(shí)候就報(bào)錯(cuò)了
(1)引入的新依賴包
<!--redis相關(guān) --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.8.6.RELEASE</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
(2)啟動(dòng)報(bào)錯(cuò)
java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration.redisTemplate
(3)網(wǎng)上搜解決方案第一個(gè)結(jié)果是說這是個(gè)架包依賴問題,可以通過idea的快捷鍵查看,但是他沒有給出解決方案,以下是他的查看定位錯(cuò)誤方法
原因:
jar 包 版本 沖突
解決方法:
查看沖突的 jar 包: 在 pom.xml 中?Ctrl + Alt + Shift + u
紅線就代表版本沖突
其實(shí)也可以pom.xml中右鍵,然后Maven,然后show? den啥的也能達(dá)到上圖效果
他的教程到這里就結(jié)束了,完全沒寫怎么解決,有點(diǎn)管殺不管埋的感覺??赡芩X得都會(huì)解決這個(gè)問題,問題是我不會(huì)啊 然后就再搜解決方案(當(dāng)然還是感謝他的文檔指出錯(cuò)誤方向)
他的教程鏈接
java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigur-CSDN博客
(3)解決方案
那么如何解決呢。?我們回到插件的分析頁面。 還是對著沖突點(diǎn)擊右鍵選擇Exclude。 此時(shí)重新刷新maven,再次進(jìn)入依賴分析頁面,點(diǎn)擊Refresh UI。
然后我就發(fā)現(xiàn)?Exclude默認(rèn)是灰色不可用狀態(tài),需要安裝插件
? ? ? 3.1裝idea插件
? ? ? ? ? ? ? 首先我使用的idea工具,可以安裝插件maven helper。
? ? ? ? ? ? ?如圖點(diǎn)擊安裝
然后restart重啟idea 安裝才會(huì)生效 如下圖
然后:打開依賴分析
這時(shí)就會(huì)進(jìn)入到下面這個(gè)頁面,可以看到左側(cè)列表中已經(jīng)列出了一些依賴,此時(shí)你可以點(diǎn)擊Refresh UI用來刷新。
我們拿到最新的檢測結(jié)果后可以點(diǎn)擊左邊的依賴,右邊框體內(nèi)會(huì)展示出來沖突的情況。
舉個(gè)栗子,我們選中poi,再看右邊框體,顯示了poi引入版本是3.10.1,通過編譯可以發(fā)現(xiàn)easyexcel2.2.6中存在沖突。
這時(shí)我們可以對沖突內(nèi)容點(diǎn)擊鼠標(biāo)右鍵選擇跳轉(zhuǎn)到源碼jump to source
這時(shí)它跳轉(zhuǎn)到了easyexcel的pom文件中,我們很清晰的查看到了其中依賴的版本
到這里是不是已經(jīng)找到了根本問題。那么如何解決呢。我們回到插件的分析頁面。還是對著沖突點(diǎn)擊右鍵選擇Exclude。
此時(shí)重新刷新maven,再次進(jìn)入依賴分析頁面,點(diǎn)擊Refresh UI??梢钥吹絼偛欧治龀鰜淼臎_突少了一個(gè)。
此時(shí)我們回到pom編輯頁面,可以看到easyexcel依賴中使用了exclusions標(biāo)簽排除了poi依賴,所以沖突解決了。
到這里,使用插件解決沖突的方法就已經(jīng)完事了。
參照整理地址:
徹底學(xué)會(huì)maven中依賴沖突解決辦法(內(nèi)附實(shí)戰(zhàn)項(xiàng)目)_pom強(qiáng)制解決版本依賴沖突-CSDN博客
解決完之后又出現(xiàn):
The artifact mysql:mysql-connector-java:jar:8.0.33 has been relocated to com.mysql:mysql-connector-j:jar:8.0.33
錯(cuò)誤:意思是mysql包換位置了 需要改成最新的Maven倉庫位置
只需要將mysql包換成最新的地址即可 最新地址:
<dependency>
? ? <groupId>com.mysql</groupId>
? ? <artifactId>mysql-connector-j</artifactId>
? ? <version>8.0.33</version>
</dependency>
參照:
解決maven構(gòu)建時(shí)警告:The artifact xxx has been relocated to xxx_the artifact mysql:mysql-connector-java:jar:8.0.33-CSDN博客
另外:其實(shí)最簡單的是把報(bào)錯(cuò)的那個(gè)包地址直接注銷掉(只適合不用這個(gè)功能時(shí)候用這個(gè)法子)
比如我的這個(gè)報(bào)錯(cuò):
java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration.redisTemplate
直接把后面爆出來的redis包注釋掉就能啟動(dòng)了,如下圖
文章來源:http://www.zghlxwxcb.cn/news/detail-814637.html
希望對你有幫助文章來源地址http://www.zghlxwxcb.cn/news/detail-814637.html
到了這里,關(guān)于java.lang.IllegalStateException: Error processing condition 架包依賴版本沖突修復(fù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!