簡體   English   中英

log4j:錯誤“org.apache.log4j.ConsoleAppender”對象不能分配給“org.apache.log4j.Appender”變量

[英]log4j:ERROR A “org.apache.log4j.ConsoleAppender” object is not assignable to a “org.apache.log4j.Appender” variable

我正在使用gradle創建一個Web應用程序。 我在這個應用程序中使用了log4j。 當我構建項目時,我收到錯誤...

  • log4j:錯誤“org.apache.log4j.ConsoleAppender”對象不能分配給“org.apache.log4j.Appender”變量。
  • log4j:ERROR加載了“org.apache.log4j.Appender”類
  • log4j:ERROR [org.powermock.core.classloader.MockClassLoader@16a40b2]而對象類型
  • log4j:ERROR“org.apache.log4j.ConsoleAppender”由[sun.misc.Launcher$AppClassLoader@5e3a78ad]加載。
  • log4j:ERROR無法實例化名為“stdout”的appender。

我仍然沒有找到一個好的答案。 而且我忘了說,我的項目正確構建並正確顯示日志按摩。 它不僅適用於測試類。

添加此注釋對我有用。

@PowerMockIgnore("org.apache.log4j.*") 

您的類路徑包含2個log4j庫副本。 排除一個並重試。

有一個明確的答案在這里 :d

當我們在我們的類中有最終方法和slf4j記錄器時。 我們必須在測試類中使用powermock。 因此,我們必須在我們使用Powermock的測試類中使用@MockPolicy(Slf4jMockPolicy.class)和特定的導入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM