Пример примера Solr, не могу понять, где поместить папку Java - PullRequest
0 голосов
/ 18 февраля 2010

Я следовал этому руководству, чтобы установить (несколько) экземпляров solr на tomcat

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)

Хотелось бы узнать, как решить эти ошибки. вывод каталитического журнала не дает много.

Приветствия

Ke

1 Ответ

2 голосов
/ 18 февраля 2010

Ваше первое исправление верно, вы просто пропускаете другую библиотеку, которая Jakarta Commons Logging . Также возьмите банку и положите ее вместе со своими библиотеками. Обратите внимание, что впоследствии может быть больше зависимостей, он просто останавливается на первой ошибке. Вы уверены, что в пакете, который вы скачали с кучей JAR-файлов, нет папки "lib"?

...