首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr自定义RequestHandler ClassNotFoundException

Solr自定义RequestHandler ClassNotFoundException
EN

Stack Overflow用户
提问于 2015-02-06 12:45:45
回答 1查看 737关注 0票数 0

我遵循本教程- http://www.slideshare.net/searchbox-com/develop-a-solr-request-handler-plugin并在Netbeans中构建了所需的jar文件,然后将其放入lib路径并将请求处理程序添加到solrconfig.xml中:

代码语言:javascript
复制
    <requestHandler name="/newendpoint" class="com.searchbox.DemoPlugin">
            <lst name="words">
                    <str name="word">body</str>
                    <str name="word">fish</str>
                    <str name="word">dog</str>
            </lst>
    </requestHandler>

我看到罐子里装着:

代码语言:javascript
复制
INFO  - 2015-02-06 12:32:21.903; org.apache.solr.core.SolrResourceLoader; Adding 'file:/data/solr/lib/DemoPlugin-1.0.jar' to classloader

但是,当我试图重新启动solr时,我得到了一个错误:

代码语言:javascript
复制
ERROR - 2015-02-06 12:39:02.942; org.apache.solr.core.CoreContainer; Error creating core [test]: RequestHandler init failure
org.apache.solr.common.SolrException: RequestHandler init failure
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:873)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:646)
        at org.apache.solr.core.CoreContainer.create(CoreContainer.java:491)
        at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:255)
        at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:249)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.solr.common.SolrException: RequestHandler init failure
        at org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:172)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:792)
        ... 8 more
Caused by: org.apache.solr.common.SolrException: Error loading class 'com.searchbox.DemoPlugin'
        at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:490)
        at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:421)
        at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:543)
        at org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:616)
        at org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:158)
        ... 9 more
Caused by: java.lang.ClassNotFoundException: com.searchbox.DemoPlugin
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:274)
        at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:474)
        ... 13 more

我承认我不是java专家,所以我想知道我是否遗漏了一些显而易见的东西,或者自本教程创建以来,机制发生了变化,扩展了DemoPlugin jar --它包含所需的com/searchbox/DemoPlugin.class文件,所以我有点不知所措。

任何指南针都会赏识。

是的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-06 14:50:22

我已经尝试过本教程,我可以确认,它的工作,解释。

对于您来说,我只能假设jar没有加载到它应该加载的位置(即使日志存储是类加载器得到的)。

我把罐子放进{solr.home}/{core.name}/lib里了。

关于如何在太阳电池中部署新插件的更多信息是这里

尝试使用一个solr.xml文件,并在那里配置插件应该从哪里加载。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28366112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档