2

我正在编写一个小型 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 组件是可以接受的。

4

2 回答 2

2

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

于 2010-05-27T19:22:24.500 回答
0

我遇到了对 Twitter4J 日志记录问题的回复,该问题显示了如何禁用日志记录

-Dtwitter4j.loggerFactory=twitter4j.internal.logging.StdOutLoggerFactory

添加此属性使异常消失。

于 2010-05-27T21:07:01.373 回答