如何修复exception:无法实例化SLF4J LoggerFactory?

我正在尝试使用jena库为语义Web编写一个java Web爬虫。 我使用Netbeans构建项目。 我收到两个错误:

  1. 无法实例化SLF4J LoggerFactory报告的exception:java.lang.NoClassDefFoundError:org / apache / log4j / Level

  2. 无法在org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)初始化类com.hp.hpl.jena.rdf.model.impl.ModelCom

我已将slf4j-apislf4j-log两个库包括在内。

你还应该包含log4j库,因为slf4j-log4j只是一个静态绑定器。

您应该在类路径中包含slf4j-api-xxxjarslf4j-simple-xxxjar

正如错误所示:

无法实例化SLF4J LoggerFactory

您需要将相应的slf4j-*-*.jar绑定文件放入classpath文件夹中。

您可以通过locate slf4j如果存在)找到它们。

从SLF4J版本1.6.0开始,如果在类路径上找不到绑定,则slf4j-api将默认为无操作实现,丢弃所有日志请求。

Tomcat的

如果使用Tomcat,您可以将这些文件复制到/usr/share/tomcat7/lib或webapp文件夹/var/lib/tomcat7/webapps/*/WEB-INF/lib

Solr的

如果您正在使用Solr或者您想使用那里的文件(默认情况下包含这些文件),您可以在dist/solrj-libexample/lib/ext找到它们。


请参阅: Simple Logging Facade for Java(SLF4J)用户手册

我尝试了所有的排列和组合,但最后slf4j- api-slf4j-simple-运行良好。