org.apache.solr.common.SolrException:加载类 'org.apache.solr.handler.dataimport.DataImportHandler 时出错 [英] org.apache.solr.common.SolrException: Error loading class 'org.apache.solr.handler.dataimport.DataImportHandler

查看:27
本文介绍了org.apache.solr.common.SolrException:加载类 'org.apache.solr.handler.dataimport.DataImportHandler 时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 solr 的新手.我在我的服务器上安装了 apache tomcat 7.0,我在服务器上安装了 solr 3.6.1.

我的 D: 驱动器上有网络人员设置的 solr-home 文件夹.其中的文件夹是:bin 等、日志、多核、网络应用程序.

在多核文件夹中有:core0、core1、exampledocs、README.txt 和 solr.xml.在 webapps 文件夹中,我只有 solr.war 文件.

现在我在名为 ConfigUserTextUpdate 的多核文件夹中再保留一个核心文件夹,其中包含 conf 文件夹并重新启动 tomcat 服务,我可以在 localhost/solr 上看到新的核心.

现在我将 db-config.xml 添加到 ConfigUserTextUpdate 核心.以下是内容:

<数据源类型="JdbcDataSource"驱动程序="com.microsoft.sqlserver.jdbc.SQLServerDriver"url="jdbc:sqlserver://;databaseName=dbname" user="用户名"密码=密码"/><文档><entity name="ConfigUserTextUpdate" query="UserTextUpdate_Index"></实体></文档></dataConfig>

到这里一切都很好,所有三个内核都显示在 localhost/solr 上.现在在核心 ConfigUserTextUpdate 的 solrconfig.xml 中添加一行

 <lst name="defaults"><str name="config">db-data-config.xml</str></lst></requestHandler>

它开始给出如下所示的错误:

<块引用>

HTTP 状态 500 - solr 配置中的严重错误.检查您的日志文件以获取有关可能出错的更多详细信息.如果你

希望solr在配置错误后继续,更改:假的solr.xml -------------------------------------------------------------org.apache.solr.common.SolrException:加载类时出错'org.apache.solr.handler.dataimport.DataImportHandler' 在org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:394)在 org.apache.solr.core.SolrCore.createInstance(SolrCore.java:419) 在org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:455)在org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:159)在 org.apache.solr.core.SolrCore.(SolrCore.java:563) 在org.apache.solr.core.CoreContainer.create(CoreContainer.java:480) 在org.apache.solr.core.CoreContainer.load(CoreContainer.java:332) 在org.apache.solr.core.CoreContainer.load(CoreContainer.java:216) 在org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:161)在org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:96)在org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)在org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)在org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)在org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:103)在org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)在org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)在org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)在org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)在org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655)在 java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)在 java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 在java.util.concurrent.FutureTask.run(Unknown Source) atjava.util.concurrent.ThreadPoolExecutor$Worker.runTask(来源不明)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)在 java.lang.Thread.run(Unknown Source) 引起的:java.lang.ClassNotFoundException:org.apache.solr.handler.dataimport.DataImportHandler 在java.net.URLClassLoader$1.run(Unknown Source) atjava.security.AccessController.doPrivileged(Native Method) 在java.net.URLClassLoader.findClass(Unknown Source) atjava.lang.ClassLoader.loadClass(Unknown Source) atjava.net.FactoryURLClassLoader.loadClass(Unknown Source) atjava.lang.ClassLoader.loadClass(Unknown Source) atjava.lang.Class.forName0(Native Method) 在java.lang.Class.forName(Unknown Source) atorg.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:378)……还有 27 个

我尝试了很多方法,例如将 dataimporthandler.jar 文件放在核心文件夹中,以及在各个站点上提供的其他许多内容,但仍然遇到相同的错误.请帮我解决这些问题.

如果您需要更多信息,请告诉我.

提前致谢.

解决方案

你必须编辑 solrconfig.xml 并添加到库的路径,例如:

..如果你还在那个目录中.在示例 solrconfigs 我发现他们把它放在

正下方

LUCENE_40

I am new for solr. I have installed apache tomcat 7.0 on my server and I have solr 3.6.1 on server.

I have solr-home folder set by network guys on my D: drive. The folders in that are: bin,etc,logs,multicore,webapps.

In the multicore folder there are: core0,core1,exampledocs,README.txt and solr.xml. In webapps folder I have solr.war file nothing else.

Now I keep one more core folder in multicore folder named ConfigUserTextUpdate which have conf folder in it and restart the tomcat service and I can see the new core on the localhost/solr.

Now I add db-config.xml to the ConfigUserTextUpdate core. Below is the content:

<dataConfig>
<dataSource
type="JdbcDataSource"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://<dbname><servername>;databaseName=dbname" user="username"
    password="password"/>
<document>
    <entity name="ConfigUserTextUpdate" query="UserTextUpdate_Index">
    </entity>
</document>
</dataConfig>

Upto here everything is fine and all the three cores are shown on localhost/solr. Now in the solrconfig.xml of the core ConfigUserTextUpdate I add the line

  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">db-data-config.xml</str>
    </lst>
  </requestHandler>

And it starts giving the error as shown below:

HTTP Status 500 - Severe errors in solr configuration. Check your log files for more detailed information on what may be wrong. If you

want solr to continue after configuration errors, change: false in solr.xml ------------------------------------------------------------- org.apache.solr.common.SolrException: Error loading class 'org.apache.solr.handler.dataimport.DataImportHandler' at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:394) at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:419) at org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:455) at org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:159) at org.apache.solr.core.SolrCore.(SolrCore.java:563) at org.apache.solr.core.CoreContainer.create(CoreContainer.java:480) at org.apache.solr.core.CoreContainer.load(CoreContainer.java:332) at org.apache.solr.core.CoreContainer.load(CoreContainer.java:216) at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:161) at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:96) at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382) at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:103) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.DataImportHandler at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.net.FactoryURLClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:378) ... 27 more

I have tried many things as putting the dataimporthandler.jar file in the core folder and other many things given on various sites but still getting the same error. Please help me with these.

Let me know if you need some more information.

Thanks in advance.

解决方案

you have to edit solrconfig.xml and add the path to the library as well, e.g.:

<lib dir="../../../../dist/" regex="apache-solr-dataimporthandler-.*.jar" />

..if you still have it in that directory. In the example solrconfigs I found they put it right underneath

<luceneMatchVersion>LUCENE_40</luceneMatchVersion>

这篇关于org.apache.solr.common.SolrException:加载类 'org.apache.solr.handler.dataimport.DataImportHandler 时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆