java.lang.NoClassDefFoundError:org / slf4j / LoggerFactory甚至我的班级都有罐子

时间:2017-06-01 13:49:45

标签: java

我花了一些时间来调试,但仍然没有线索。

我在Eclipse下使用m2e,我检查了java.class.path,它确实在类路径下面有jars。

有什么想法吗?

Exception in thread "main" java.lang.NoClassDefFoundError: 
org/slf4j/LoggerFactory
at hadoop.ReadHDFS.main(ReadHDFS.java:18)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more

C:\Users\xxxx\.m2\repository\org\slf4j\slf4j-api\1.7.10\slf4j-api-1.7.10.jar
C:\Users\xxxx\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar
C:\Users\xxxx\.m2\repository\org\slf4j\slf4j-log4j12\1.7.10\slf4j-log4j12-1.7.10.jar

---添加更多背景---

我正在运行hadoop程序。刚刚发现当我在pom.xml中添加hadoop-client依赖时,它将中止此错误。

在pom.xml中,我没有显式添加这些依赖项,但有效的pom有它们,java.class.path也包含它们。

编译很好,只有运行时出错

--- ---解决方法

如果我从hadoop-client中排除了slf4j-api,它会起作用: 至于根本原因,还是未知数。

0 个答案:

没有答案