亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Slf4j:找到 slf4j-api 依賴,但沒有找到提供程序

Slf4j:找到 slf4j-api 依賴,但沒有找到提供程序

斯蒂芬大帝 2022-06-15 15:57:07
我用龍目島。前段時間在構建項目時,編譯器開始發出以下消息:找到 slf4j-api 依賴項,但未找到提供程序。您的意思是添加 slf4j-simple 嗎?請參閱https://www.slf4j.org/codes.html#noProviders 。如果你點擊鏈接,會有一個相當模糊的評論:當在類路徑上找不到 SLF4J 提供程序時,會報告此警告(即不是錯誤)消息。將 slf4j-nop.jar slf4j-simple.jar、slf4j-log4j12.jar、slf4j-jdk14.jar 或 logback-classic.jar 中的一個(也是唯一一個)放在類路徑上應該可以解決問題。請注意,這些提供程序必須針對 slf4j-api 1.8 或更高版本。在沒有提供者的情況下,SLF4J 將默認為無操作 (NOP) 記錄器提供者。請注意 slf4j-api 版本 1.8.x 及更高版本使用 ServiceLoader 機制。早期版本依賴于 slf4j-api 不再支持的靜態綁定器機制。請閱讀 FAQ 條目 SLF4J 版本 1.8.0 有哪些變化?了解更多重要細節。如果您負責打包應用程序并且不關心日志記錄,那么將 slf4j-nop.jar 放在應用程序的類路徑中將消除此警告消息。請注意,諸如庫或框架之類的嵌入式組件不應聲明對任何 SLF4J 提供程序的依賴,而應僅依賴于 slf4j-api。當一個庫聲明對 SLF4J 提供者的編譯時依賴時,它將該提供者強加給最終用戶,從而否定了 SLF4J 的目的。我不知道如何正確地做到這一點。如果你有經驗,請告訴我怎么做。
查看完整描述

2 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

如教程點所述:


SLF4J 代表 Java 的簡單日志記錄外觀。它提供了所有日志框架的簡單抽象。它使用戶能夠使用單一依賴項使用任何日志記錄框架,例如 Log4j、Logback、JUL (java.util.logging) 等。


這意味著您必須在 SLF4J 本身的依賴項之上在您的類路徑上提供一個具體的 java 日志庫(Maven 示例):


<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->

<dependency>

    <groupId>org.slf4j</groupId>

    <artifactId>slf4j-api</artifactId>

    <version>2.0.0-alpha0</version>

</dependency>

您還需要指定對首選日志庫的依賴關系。例如:


對于標準 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>  

對于slf4j-簡單日志記錄:


<!-- 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>

對于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>


查看完整回答
反對 回復 2022-06-15
?
www說

TA貢獻1775條經驗 獲得超8個贊

請參閱此頁面:http ://www.slf4j.org/codes.html#noProviders

您可以添加以下任一依賴項: 在類路徑上放置 slf4j-nop.jar slf4j-simple.jar、slf4j-log4j12.jar、slf4j-jdk14.jar 或 logback-classic.jar 中的一個(并且只有一個)應該解決這個問題

我使用了來自https://mvnrepository.com/artifact/org.slf4j/log4j-over-slf4j的“slf4j-simple”maven 依賴項


查看完整回答
反對 回復 2022-06-15
  • 2 回答
  • 0 關注
  • 370 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號