在Eclipse外部运行程序时出现NoSuchMethodError(org.slf4j.LoggerFactory.getLogger)

时间:2012-06-19 08:53:29

标签: java command-line-interface slf4j nosuchmethoderror

每次我尝试从命令行运行一个使用SLFj4记录器(LoggerFactory.getLogger(myClass.class))的程序时,我得到一个NoSuchMethodError

Exception in thread "main" java.lang.NoSuchMethodError:
  org.slf4j.LoggerFactory.getLogger(Ljava/lang/Class;)Lorg/slf4j/Logger;

有趣的是,当我在Eclipse中运行相同的程序时,我没有收到此错误。编译代码时没有错误。方法getLogger明确存在于类路径中的相应类文件中。

我尝试了最新版本的SLF4j API和绑定,但错误仍然存​​在。我已将所有相关类添加到类路径中(并且没有ClassNotFoundExceptions)。

我可以尝试做什么?您需要哪些进一步的信息?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您必须使用包含SLF4j的两个依赖项,尝试从依赖项之一中排除,然后再试一次。

还要确保使用相同的版本。