java - 使用 log4j 的多个库

标签 java log4j twitter4j

我正在编写一个小型 Java 应用程序,但在使用 log4j 时遇到了一些问题,这似乎是由多个独立的库试图同时使用它引起的:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.log4j.Logger.info(Ljava/lang/String;)V
    at twitter4j.internal.logging.Log4JLogger.info(Log4JLogger.java:85)
    at twitter4j.internal.logging.Logger.<clinit>(Logger.java:72)
    at twitter4j.http.BasicAuthorization.<clinit>(BasicAuthorization.java:43)
    at twitter4j.http.AuthorizationFactory.getBasicAuthorizationInstance(AuthorizationFactory.java:66)
    at twitter4j.TwitterStreamFactory.getInstance(TwitterStreamFactory.java:121)
    at org.voltdb.twitter.drivers.Collect.main(Collect.java:13)

我使用的两个库是 Twitter4JVoltDB .两者都是 JAR 的形式。如果我单独使用其中任何一个,就不会遇到这个问题;两者都可以自己正常工作。

如果这解决了问题,则禁用任一库的 log4j 组件是可以接受的。

最佳答案

您确定您使用的是两个库都要求的正确版本的 log4j 吗?您的错误消息似乎表明 IMO 的 log4j 版本不正确。

关于java - 使用 log4j 的多个库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2923943/

相关文章:

java - 将 twitter4J 状态保存到 MongoDB 会给出 "twitter4j.Status is an interface, and JAXB can' t 句柄接口(interface)”

android - 使用适用于 Android 的 Twitter4j 库

java - 如何仅为 JCombobox 设置 Web 外观

java - java中优先级队列中offer()和add()的区别?

java - 掷骰子游戏 : How do i get the while loop in this code from going into an infinite loop?

logging - 从多个服务器聚合多个日志文件的最佳方法

java - 如何使用 Log4j 更改包的日志级别?

java - 我想通过log4j记录STORM日志并将日志发送到kafka。结果是kafka STORM可以自己记录日志log4j但不能发送日志到kafka

java - 如何使用 twitter4j 删除转推

java - 配置 mockito 以在验证错误消息中打印实际参数值