向 solr 添加自定义请求处理程序时出现类未找到异常
我必须在 solr 中编写自己的自定义请求处理程序,但我收到类似 org.apache.solr.common.SolrException: Error loading class 'QPRequestHandler' 的错误
,这里 QPRequestHandler 是我想要插入 SOLR 3.4 的自定义处理程序
这是我到目前为止所做的:
创建了新目录lib apache-solr-3.4.0/example/solr/
在 solrconfig.xml(路径:apache-solr-3.4.0/example/solr/conf/solrconfig.xml)中,我添加了这一行
在 solrconfig.xml 中,我添加了自定义处理程序,如下所示:
d1值 i1值 QPRequestHandler的示例代码是这样的:
public class QPRequestHandler extends RequestHandlerBase { /** * @参数参数 */ 公共静态无效主(字符串[] args){ // TODO 自动生成的方法存根 } @覆盖 公共无效初始化(命名列表参数){ // 什么都不做 } @覆盖 公共无效handleRequestBody(SolrQueryRequest req,SolrQueryResponse rsp)抛出异常{ rsp.add("key1", "value1"); } }
我制作了这个
QPRequestHandler.java
的JAR文件并将其放在lib目录中,路径:apache-solr-3.4.0/example/solr/lib/
6 重新启动 solr 后:我收到类似 org.apache.solr.common.SolrException 的错误:加载类时出错 ' QPRequestHandler'
问题可能是我正在创建 java 文件的 jar 文件而不是类文件,或者是否存在任何路径问题或配置错误。
I have to write my own custom request handler in solr but i am getting error like org.apache.solr.common.SolrException: Error loading class 'QPRequestHandler'
Here QPRequestHandler is my custom handler that i want to plug into my SOLR 3.4
Here is what i did so far:
Created new directory lib in apache-solr-3.4.0/example/solr/
In solrconfig.xml(path: apache-solr-3.4.0/example/solr/conf/solrconfig.xml) i have added this line
<lib dir="./lib" />
In solrconfig.xml i have added my custom handler like this:
<requestHandler name="/mytesthandler" class="QPRequestHandler"> <!-- initialization args may optionally be defined here --> <lst name="defaults"> <str name="d1">d1 value</str> </lst> <lst name="invariants"> <str name="i1">i1 value</str> </lst>
The sample code of QPRequestHandler is this:
public class QPRequestHandler extends RequestHandlerBase { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub } @Override public void init(NamedList args) { // do nothing } @Override public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { rsp.add("key1", "value1"); } }
I made a JAR file of this
QPRequestHandler.java
and put it in lib directory, path:apache-solr-3.4.0/example/solr/lib/
6 After restarting solr: i am getting error like org.apache.solr.common.SolrException: Error loading class 'QPRequestHandler'
Problem might be that i am creating jar file of java file and not the class file or is there any path issues or configuration error.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要将类打包到 jar 文件中,该文件将由 Solr 加载。
您可以通过使用 solr 依赖的 jar 设置类路径来编译 java 文件。
You would need to package the class into the jar file, which would be loaded by Solr.
You can compile the java file, by setting the classpath with the solr dependant jars.