簡體   English   中英

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

我是solr的新手。 我已經在我的服務器上安裝了apache tomcat 7.0,並且我在服務器上安裝了solr 3.6.1。

我的D:\\驅動器上有網絡人員設置的solr-home文件夾。 其中的文件夾是:bin等,日志,多核,webapps。

在multicore文件夾中有:core0,core1,exampledocs,README.txt和solr.xml。 在webapps文件夾中,我沒有別的solr.war文件。

現在我在多核文件夾中保留了一個名為ConfigUserTextUpdate的核心文件夾,其中包含conf文件夾並重新啟動tomcat服務,我可以在localhost / solr上看到新核心。

現在我將db-config.xml添加到ConfigUserTextUpdate核心。 以下是內容:

<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>

到這里一切都很好,所有三個核心都顯示在localhost / solr上。 現在在核心ConfigUserTextUpdate的solrconfig.xml中添加該行

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

它開始給出錯誤,如下所示:

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

希望solr在配置錯誤后繼續,在solr.xml中更改:false ----------------------------------- -------------------------- org.apache.solr.common.SolrException:加載類'org.apache.solr.handler.dataimport時出錯。位於org.apache.solrCore.SolrCore的org.apache.solr.core.SolrCore.createInstance(SolrCore.java:419)的org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:394)中的DataImportHandler .gateRequestHandler(SolrCore.java:455)org.apache中的org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:159)atg.apache.solrCore。(SolrCore.java:563)org.apache .solr.core.CoreContainer.create(CoreContainer.java:480)org.apache.solr.core.CoreContainer.load(CoreContainer.java:332)at org.apache.solr.core.CoreContainer.load(CoreContainer.java) :216)org.apache.solr.core.CoreContainer $ Initializer.initialize(CoreContainer.java:161)atg.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:96)org.apache.cata lina.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。 start orternal(StandardContext.java:5306)位於org.apache的org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) .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)在java.util.conc的org.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:1655) java.util.concurrent.ThreadPoolExecutor $ java.util.concurrent.FutureTask $ Sync.innerRun(未知來源)java.util.concurrent.FutureTask.run(未知來源)的urrent.Executors $ RunnableAdapter.call(未知來源) java.util.concurrent.ThreadPoolExecutor上的Worker.runTask(未知來源)java.lang.Thread.run上的$ Worker.run(未知來源)(未知來源)引起:java.lang.ClassNotFoundException:org.apache.solr。 java.net.URLClassLoader上的handler.dataimport.DataImportHandler $ 1.run(未知來源)java.lang.ClassLoader.loadClass上java.net.URLClassLoader.findClass(未知來源)的java.security.AccessController.doPrivileged(Native Method) java.net.FactoryURLClassLoader.loadClass(Unknown Source)的java.lang.ClassLoader.loadClass(未知來源)java.lang.Class.forName0(本機方法)java.lang.Class.forName(未知來源)來源)org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:378)... 27更多

我嘗試過很多東西,比如將dataimporthandler.jar文件放在核心文件夾中,以及在各個站點上給出的其他很多東西,但仍然會出現同樣的錯誤。 請幫幫我。

如果您需要更多信息,請與我們聯系。

提前致謝。

你必須編輯solrconfig.xml並添加庫的路徑,例如:

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

..如果你仍然在該目錄中。 在示例solrconfigs中,我發現它們正好位於下方

<luceneMatchVersion>LUCENE_40</luceneMatchVersion>

在solr-4.3.0中嘗試實現: http//wiki.apache.org/solr/DIHQuickStart添加:

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

在文件中: PROJECT-HOME \\ solr \\ collection1 \\ conf \\ solrconfig.xml

在現有的路線下:

<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />

解決了這個問題。 也許你需要重啟servlet容器(在默認情況下:Jetty)。

solr-5.2.0版本的問題。 當我切換到solr-5.5.0時 ,問題已經解決。

有類似的問題,我的問題是與符號鏈接(solr沒有遵循它們)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM