0

このチュートリアルに従って、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/

今、私は2つのエラーを受け取ります:

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)

これらのエラーを解決する方法を見つけたいと思います。ログ出力のケータリングは、多くのことを行うことはできません。

乾杯

Ke

4

1 に答える 1

2

最初の修正は正しいです。JakartaCommonsLoggingという別のライブラリを見逃しているだけです。また、JARを取得し、ライブラリと一緒に配置します。その後、依存関係が増える可能性があることに注意してください。最初のエラーで停止します。大量のJARとともにダウンロードしたパッケージに「lib」フォルダーがないことを確認しますか?

于 2010-02-18T17:12:15.030 に答える