2012-06-30 30 views
0

我试图建立dataimportscheduler我的指数,当我添加:无法实例监听org.apache.solr.handler.dataimport.scheduler.ApplicationListener

<listener> 
    <listener-class> 
     org.apache.solr.handler.dataimport.scheduler.ApplicationListener 
    </listener-class> 
    </listener> 

我webdefault.xml和运行启动的.jar,我得到:

2012-06-30 11:04:52.959:INFO::Logging to STDERR via org.mortbay.log.StdErrLog 
2012-06-30 11:04:53.457:INFO::jetty-6.1-SNAPSHOT 
2012-06-30 11:04:53.953:WARN::Could not instantiate listener org.apache.solr.handler.dataimport.scheduler.ApplicationListener 
java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.scheduler.ApplicationListener 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
     at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:401) 
     at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363) 
     at org.mortbay.jetty.handler.ContextHandler.loadClass(ContextHandler.java:1102) 
     at org.mortbay.jetty.webapp.WebXmlConfiguration.initListener(WebXmlConfiguration.java:630) 
     at org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement(WebXmlConfiguration.java:368) 
     at org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:289) 
     at org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:222) 
     at org.mortbay.jetty.webapp.WebXmlConfiguration.configureDefaults(WebXmlConfiguration.java:162) 
     at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1262) 
     at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518) 
     at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) 
     at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
     at org.mortbay.jetty.Server.doStart(Server.java:224) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:616) 
     at org.mortbay.start.Main.invokeMain(Main.java:194) 
     at org.mortbay.start.Main.start(Main.java:534) 
     at org.mortbay.start.Main.start(Main.java:441) 
     at org.mortbay.start.Main.main(Main.java:119) 

我说:

<lib dir="../../dist/" regex="apache-solr-dataimportscheduler-1.0.jar" /> 

到solrconfig.xml中(已成功加载一些其他的库),但它不会改变任何东西,基于错误消息和日志文件中显示的时间,似乎在solrconfig.xml之前加载了webdefault.xml。

我装Apache的Solr的-dataimportscheduler-1.0.jar在命令行的java -cp选项,但没有奏效。

任何想法,我应该怎么办?

回答

1

我前几天回答过类似的问题。请检查一下。 Solr DataImportHandler configuration

如果这没有帮助,另一个选择是将此jar复制到solr.war的web-inf \ lib文件夹中。这可以在webapps下码头的爆炸文件夹来完成...

+0

很遗憾,您这个问题的答案在我的情况没有帮助,因为我上面提到的,之前(如MySQL连接器的Java我已经成功地加载库)所以它不应该是关于jar文件的位置。 基于对日志文件和错误消息的时间戳很明显,webdefault.xml加载之前solrconfig.xml中这样solrconfig.xml中没有帮助,I'l检查WEB-INF/lib中的东西加载库,让你知道,如果它作品。 – Sassan

+0

将库放在web-inf/lib中,谢谢。 – Sassan

+0

@Sassan谢谢你指出这一点。我更改了wiki页面,以便它包含部署DIHScheduler所需的全部信息。 –