2010-02-18 7 views
0

Ive a suivi ce tutoriel pour installer (plusieurs) instances de Solr sur tomcatsolr exemple démo, dévers travail où mettre le dossier java

http://wiki.apache.org/solr/SolrTomcat

Maintenant, je veux mettre en place cette démo, mais sa ne fonctionne pas

http://www.ibm.com/developerworks/java/library/j-solr1/

Ive construit le dw.war comme mentionné dans la démo et maintenant je reçois cette erreur.

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) 

Pensant qu'il était une erreur dans le répertoire/tomcat/lib copié le commons-httpclient-3.0.jar dans le répertoire/tomcat/lib et a fait

chcon -R -h -t httpd_sys_content_t /usr/share/apache-tomcat-6.0.18/lib/ 

Maintenant, je reçois deux erreurs :

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) 

Nous aimerions savoir comment résoudre ces erreurs. sortie de journal de catalogage ne donne pas beaucoup à faire.

Vive

Ke

Répondre

2

Votre première solution est juste, vous manquez juste une autre bibliothèque, qui est Jakarta Commons Logging. Obtenez également le JAR et le mettre avec vos libs. Notez qu'il peut y avoir plus de dépendances par la suite, cela s'arrête juste sur la première erreur. Êtes-vous sûr qu'il n'y a pas de dossier "lib" dans le paquet que vous avez téléchargé avec un tas de fichiers JAR?

+0

Oui, cela m'a beaucoup aidé. C'était les dépendances httpclient et loggin. J'ai aussi eu quelques problèmes car im utilisant solr sur le port 8081 aussi le dossier par défaut pour solr était/solr-example2/au lieu de/solr/comme im exécutant plusieurs instances de solr, donc je devais changer/solr/select/to/solr-example2/select/dans DWServlet.java. Le DWServlet.java a dû être adapté avant de compiler dw.war pour gérer ces deux choses. cependant maintenant cela fonctionne comme un rêve :) Merci beaucoup pour votre aide. –

+0

Vous êtes les bienvenus :) –

Questions connexes