0

当我添加时,我正在尝试为我的索引设置 dataimportscheduler:

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

到我的 webdefault.xml 并运行 start.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 (以这种方式成功加载了一些其他库),但它没有改变任何东西,根据错误消息和日志文件中显示的时间,似乎 webdefault.xml 在 solrconfig.xml 之前加载。

我在命令行中使用 java 的 -cp 选项加载了 apache-solr-dataimportscheduler-1.0.jar,但是没有用。

知道我该怎么做吗?

4

1 回答 1

1

几天前我回答了一个类似的问题。请检查一下。 Solr DataImportHandler 配置

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

于 2012-06-30T12:41:04.643 回答