到目前位置,solr已经更新的到了4.7。在使用过程中由于solr以来一些jar包,会产生一定的异常,总结如下:
异常一.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/NoHttpResponseException
Caused by: java.lang.ClassNotFoundException: org.apache.http.NoHttpResponseException
很多新学习使用solr的朋友再尝试本地提交数据时, 或许会遇到类似 异常一 中的错误, 该异常在整个项目中没有错误提示,在运行时报错,导致这个异常的原因是项目工程中缺少 httpcore-4.2.2.jar 包,具体jar版本由自己决定,建议使用最新的jar包,将此jar包导入项目中,再次运行问题解决,若报告该jar包,依然报错,请检查包放置的路径是否正确.
异常二.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpRequestBase
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpRequestBase
对 异常二 中的报错现象,同一类似,也是因为缺少jar包造成的,废话不多说了,将 httpclient-4.2.3.jar 包导入到项目中即可.
异常三.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/entity/mime/content/ContentBody
Caused by: java.lang.ClassNotFoundException: org.apache.http.entity.mime.content.ContentBody
该异常是由于缺少 httpmime-4.2.3.jar 包造成,将jar包导入工程问题解决.
异常四.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
缺少 slf4j-api-1.6.6.jar 包
异常五.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" org.apache.solr.client.solrj.beans.BindingException: class: class com.ered.entry.Item does not define any fields.
针对异常四中的jar包,一般都会伴随 slf4j-log4j12-1.6.6.jar 包共同使用, 此处异常就是因为缺少 slf4j-log4j12-1.6.6.jar 包造成,将jar包导入工程中问题解决.
异常六.
Failed to instantiate SLF4J LoggerFactory
Reported exception:
java.lang.NoClassDefFoundError: org/apache/log4j/Level
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level
很多人通过发现异常四和异常五之后,了解到缺少SLF4J后, 便能立即将 log4j-1.2.16.jar 包导入到工程中,具体原因我就不多说了,大家有兴趣可以去了解一下这几个包之间的关系,将 log4j-1.2.16.jar 包导入工程问题解决.
异常七.
Exception in thread "main" java.lang.NoClassDefFoundError: org/noggit/CharArr
缺少noggit-0.5.jar