本文介紹了Slf4j:找到slf4j-api依賴項(xiàng),但未找到提供程序的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我使用龍目島。
不久前,在構(gòu)建項(xiàng)目時(shí),編譯器開(kāi)始發(fā)出以下消息:
找到slf4j-api依賴項(xiàng),但未找到提供程序。你是說(shuō)
添加slf4j-Simple?請(qǐng)參見(jiàn)https://www.slf4j.org/codes.html#noProviders
。
如果您點(diǎn)擊該鏈接,會(huì)有一個(gè)相當(dāng)模糊的評(píng)論:
如果沒(méi)有SLF4J,則報(bào)告此警告(即不是錯(cuò)誤)消息
可以在類路徑上找到提供程序。放置一個(gè)(且僅放置一個(gè))
Slf4j-nop.jar slf4j-imple.jar、slf4j-log4j12.jar、slf4j-jdk14.jar
或者類路徑上的Logback-Classic.jar應(yīng)該可以解決這個(gè)問(wèn)題。
請(qǐng)注意,這些提供程序必須面向slf4j-api 1.8或更高版本。在沒(méi)有提供程序的情況下,SLF4J將默認(rèn)為無(wú)操作
(NOP)記錄器提供程序。請(qǐng)注意,slf4j-API版本1.8.x和更高版本使用
ServiceLoader機(jī)制。早期版本依賴于靜態(tài)綁定器
Slf4j-api不再支持的機(jī)制。請(qǐng)閱讀常見(jiàn)問(wèn)題解答
條目SLF4J版本1.8.0中有什么變化?更重要的是
詳細(xì)信息。如果您負(fù)責(zé)打包應(yīng)用程序而不在乎
關(guān)于日志記錄,然后將slf4j-nop.jar放在
應(yīng)用程序?qū)h除此警告消息。請(qǐng)注意,嵌入式
諸如庫(kù)或框架之類的組件不應(yīng)聲明
依賴于任何SLF4J提供程序,但僅依賴于slf4j-API。當(dāng)一個(gè)
庫(kù)在SLF4J提供程序上聲明編譯時(shí)依賴項(xiàng),它
將該提供者強(qiáng)加給最終用戶,從而否定了SLF4J的目的。
我不知道如何正確地做這件事。如果你有經(jīng)驗(yàn),請(qǐng)給我講解怎么做。
推薦答案
如tutorialspoint中所述:
SLF4J代表Simple Logging Facade for Java。它提供了一個(gè)簡(jiǎn)單的
對(duì)所有日志記錄框架進(jìn)行抽象。它使用戶能夠工作
使用任何日志記錄框架,如Log4j、Logback、JUL
(java.util.Logging)等使用單一依賴項(xiàng)。
這意味著您必須在類路徑上為SLF4J本身的依賴項(xiàng)(例如Maven)提供一個(gè)具體的Java日志庫(kù):
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.0-alpha0</version>
</dependency>
您還需要指定對(duì)首選日志庫(kù)的依賴關(guān)系。例如:
對(duì)于標(biāo)準(zhǔn)jdk1.4日志:
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-jdk14 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>2.0.0-alpha0</version>
<scope>runtime</scope>
</dependency>
對(duì)于slf4j-簡(jiǎn)單日志記錄:
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.0-alpha0</version>
<scope>runtime</scope>
</dependency>
對(duì)于log4j日志記錄:
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>2.0.0-alpha0</version>
<scope>runtime</scope>
</dependency>
這篇關(guān)于Slf4j:找到slf4j-api依賴項(xiàng),但未找到提供程序的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,