Slf4j和类路径出错

时间:2015-04-03 09:43:15

标签: java classpath slf4j apache-kafka

我会执行maven项目,但我的classpath不正确... 我没有找到任何解决方案,尝试了很多可 编译是成功的,但是当我启动程序时,我有以下错误:

 [root@sandbox kafka-log-appender]# java -cp "target/kafka-log-appender-1.0-SNAPSHOT.jar:log4j-1.2.17.jar" com.log.kafka.RogueApplication
    Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
            at com.log.kafka.RogueApplication.<clinit>(RogueApplication.java:11)
    Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
            at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
            ... 1 more

由于

2 个答案:

答案 0 :(得分:1)

查找slf4j-api.jar和任何引用log4j的slf4j jar并添加它们。 log4j有两个或三个驱动程序。我不知道Kafka附带哪一个,但如果你看到多个,只有一个放在那里,因为多个可以让slf4j出现问题。

答案 1 :(得分:1)

添加以下路径中给出的slf4j.jar:

http://www.java2s.com/Code/JarDownload/slf4j/slf4j.jar.zip

如果问题未解决,请尝试使用同一页面中建议的其他slf4j jar。