每次我尝试从命令行运行使用 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 和绑定(bind),但错误仍然存在。我已将所有相关类添加到类路径中(并且没有 ClassNotFoundExceptions)。
我可以尝试做什么?您还需要哪些进一步信息?
提前致谢!
最佳答案
您必须使用两个包含 SLF4j 的依赖项,请尝试从其中一个依赖项中排除,然后重试。
还要确保您使用相同的版本。
关于java - 在 Eclipse 外部运行程序时出现 NoSuchMethodError (org.slf4j.LoggerFactory.getLogger),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11097605/