IntelliJ IDEA中程序包org.slf4j找不到的解決
IDEA中程序包org.slf4j找不到
最近導(dǎo)入公司項(xiàng)目的時(shí)候遇到個(gè)莫名其妙的問(wèn)題,提示程序包org.slf4j找不到。查了下maven,slf4j和log4j都已經(jīng)導(dǎo)入了。
搗鼓了老半天終于發(fā)現(xiàn)問(wèn)題了:
記得把slf4j-log4j的包也一起導(dǎo)入進(jìn)去
idea里面用svn直接import進(jìn)來(lái)的項(xiàng)目竟然還會(huì)遇到依賴包的問(wèn)題我也是挺無(wú)語(yǔ)的……
IDEA調(diào)試@Slf4j log.info無(wú)法打印日志,報(bào)錯(cuò)failed to load class “org.slf4j.imp.StaticLoggerBinder“及解決親測(cè)可行
1. 報(bào)錯(cuò) failed to load class “org.slf4j.imp.StaticLoggerBinder”
2. 解決 僅提供唯一一個(gè)包(slf4j-nop.jar、slf4j-reload4j.jar、slf4j-api.jar、slf4j-jdk14.jar或logback-classic.jar等)在類路徑
來(lái)自 www.slf4j.org 官網(wǎng)的解析:
當(dāng)在類路徑上找不到SLF4J提供程序時(shí),會(huì)報(bào)告此警告,即不是錯(cuò)誤消息。將slf4j-nop.jar、slf4j-reload4j.jar、slf4j-jdk14.jar或logback-classic.jar等眾多可用提供程序中的一個(gè)(也是唯一一個(gè))放在類路徑上應(yīng)該可以解決問(wèn)題。
在沒(méi)有提供程序的情況下,SLF4J將默認(rèn)為無(wú)操作(NOP)記錄器提供程序。
請(qǐng)注意,slf4j-api 2.0.x及更高版本使用ServiceLoader機(jī)制。早期的版本依賴于靜態(tài)綁定機(jī)制,而slf4j-api不再采用這種機(jī)制。請(qǐng)閱讀常見(jiàn)問(wèn)題解答條目SLF4J 2.0.0版本有什么變化?了解更多重要細(xì)節(jié)。
如果您負(fù)責(zé)打包應(yīng)用程序而不關(guān)心日志記錄,那么將slf4j-nop.jar放在應(yīng)用程序的類路徑上將消除此警告消息。請(qǐng)注意,庫(kù)或框架等嵌入式組件不應(yīng)聲明對(duì)任何SLF4J提供程序的依賴,而應(yīng)僅依賴于SLF4J-api。當(dāng)庫(kù)聲明編譯時(shí)依賴于SLF4J提供程序時(shí),它會(huì)將該提供程序強(qiáng)加給最終用戶,從而否定SLF4J的目的。
類路徑包含SLF4J綁定,目標(biāo)為SLF4J-api版本1.7.x或更早版本為Jigsaw(Java 9)、slf4j-api 2.0.x版及更高版本的出現(xiàn)做計(jì)劃時(shí),請(qǐng)使用ServiceLoader機(jī)制。SLF4J的早期版本依賴于靜態(tài)綁定機(jī)制,而SLF4J-api 2.0.x版本不再采用該機(jī)制。
如果SLF4J沒(méi)有找到以SLF4J 2.0.x為目標(biāo)的提供程序,而是找到了以SLF4J.1.7或更早版本為目標(biāo)的綁定,它將列出它找到的綁定,但在其他情況下將忽略它們。
這可以通過(guò)在類路徑上放置一個(gè)SLF4J提供程序來(lái)解決,這些提供程序包括logback版本1.3.x及更高版本,以及SLF4J-reload4j、SLF4J-jdk14、SLF4J simple版本2.0.0或更高版本中的一個(gè)。
3. 在右側(cè)查看自己引入的包,然后exclusions排除對(duì)應(yīng)的包
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot CountDownLatch多任務(wù)并行處理的實(shí)現(xiàn)方法
本篇文章主要介紹了SpringBoot CountDownLatch多任務(wù)并行處理的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Java?入門(mén)圖形用戶界面設(shè)計(jì)之事件處理下
圖形界面(簡(jiǎn)稱GUI)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。與早期計(jì)算機(jī)使用的命令行界面相比,圖形界面對(duì)于用戶來(lái)說(shuō)在視覺(jué)上更易于接受,本篇精講Java語(yǔ)言中關(guān)于圖形用戶界面的事件處理2022-02-02Java組件FileUpload上傳文件實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了Java組件FileUpload上傳文件實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06SpringBoot讀取自定義配置文件方式(properties,yaml)
這篇文章主要介紹了SpringBoot讀取自定義配置文件方式(properties,yaml),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Netty與Spring Boot的整合實(shí)現(xiàn)
這篇文章主要介紹了Netty與Spring Boot的整合的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08SpringBoot之通過(guò)BeanPostProcessor動(dòng)態(tài)注入ID生成器案例詳解
這篇文章主要介紹了SpringBoot之通過(guò)BeanPostProcessor動(dòng)態(tài)注入ID生成器案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09