我已按照本教程在tomcat上安装(多个)solr实例
http://wiki.apache.org/solr/SolrTomcat
现在我想设置这个演示,但它不能正常工作
http://www.ibm.com/developerworks/java/library/j-solr1/
我已经在演示中提到了dw.war,现在我收到了这个错误。
java.lang.NoClassDefFoundError: Could not initialize class org.apache.commons.httpclient.HttpClient
org.apache.dwexample.servlet.DWServlet.sendGetCommand(DWServlet.java:714)
org.apache.dwexample.servlet.DWServlet.processSubmitQuery(DWServlet.java:634)
org.apache.dwexample.servlet.DWServlet.doGet(DWServlet.java:120)
org.apache.dwexample.servlet.DWServlet.doPost(DWServlet.java:782)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
认为这是/ tomcat / lib目录中的错误,将commons-httpclient-3.0.jar复制到/ tomcat / lib目录并执行了
chcon -R -h -t httpd_sys_content_t /usr/share/apache-tomcat-6.0.18/lib/
现在我收到两个错误:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:65)
org.apache.dwexample.servlet.DWServlet.sendPostCommand(DWServlet.java:663)
org.apache.dwexample.servlet.DWServlet.processSubmitCommand(DWServlet.java:596)
org.apache.dwexample.servlet.DWServlet.processIndexCommand(DWServlet.java:557)
org.apache.dwexample.servlet.DWServlet.processCommit(DWServlet.java:225)
org.apache.dwexample.servlet.DWServlet.doGet(DWServlet.java:100)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:65)
org.apache.dwexample.servlet.DWServlet.sendPostCommand(DWServlet.java:663)
org.apache.dwexample.servlet.DWServlet.processSubmitCommand(DWServlet.java:596)
org.apache.dwexample.servlet.DWServlet.processIndexCommand(DWServlet.java:557)
org.apache.dwexample.servlet.DWServlet.processCommit(DWServlet.java:225)
org.apache.dwexample.servlet.DWServlet.doGet(DWServlet.java:100)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
很想知道如何解决这些错误。 cataling log输出并没有太大的用处。
干杯
柯
答案 0 :(得分:2)
你的第一个修复是对的,你只是错过了另一个库,Jakarta Commons Logging。同时获取JAR并将其与libs一起使用。请注意,之后可能会有更多依赖项,它只会在第一个错误上停止。你确定你用一堆JAR下载的软件包中没有“lib”文件夹吗?