2010-03-22 87 views
1

我的Solr 1.2并在端口8983上运行,并使用的Liferay 5.1.1的问题是如何配置的Solr在Liferay的JournalArticle表来搜索我已经安装了Liferay的Solr的-Web插件但引发此异常的Liferay 5.1.1 Solr的插件ClassCastException异常

[SolrIndexSearcherImpl:79] Error while sending request to Solr 
java.lang.ClassCastException: com.liferay.portal.kernel.util.HttpUtil cannot be cast to com.liferay.portal.kernel.util.HttpUtil 
     at com.liferay.portal.kernel.util.HttpUtil._getUtil(HttpUtil.java:317) 
     at com.liferay.portal.kernel.util.HttpUtil.getHttp(HttpUtil.java:96) 
     at com.liferay.portal.kernel.util.HttpUtil.addParameter(HttpUtil.java:68) 
     at com.liferay.portal.search.solr.SolrIndexSearcherImpl.search(SolrIndexSearcherImpl.java:71) 
     at com.liferay.portal.search.solr.SolrSearchEngineUtil.search(SolrSearchEngineUtil.java:78) 
     at com.liferay.portal.search.solr.messaging.SolrReaderMessageListener.doCommandSearch(SolrReaderMessageListener.java:92) 
     at com.liferay.portal.search.solr.messaging.SolrReaderMessageListener.doReceive(SolrReaderMessageListener.java:75) 
     at com.liferay.portal.search.solr.messaging.SolrReaderMessageListener.receive(SolrReaderMessageListener.java:46) 
     at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:69) 
     at com.liferay.portal.kernel.messaging.ParallelDestination$1.run(ParallelDestination.java:59) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
     at java.lang.Thread.run(Thread.java:619) 
16:08:16,174 ERROR [SolrReaderMessageListener:49] Unable to process message [email protected] 
com.liferay.portal.kernel.search.SearchException: java.lang.ClassCastException: com.liferay.portal.kernel.util.HttpUtil cannot be cast to com.liferay.portal.kernel.util.HttpUtil 
     at com.liferay.portal.search.solr.SolrIndexSearcherImpl.search(SolrIndexSearcherImpl.java:81) 
     at com.liferay.portal.search.solr.SolrSearchEngineUtil.search(SolrSearchEngineUtil.java:78) 
     at com.liferay.portal.search.solr.messaging.SolrReaderMessageListener.doCommandSearch(SolrReaderMessageListener.java:92) 
     at com.liferay.portal.search.solr.messaging.SolrReaderMessageListener.doReceive(SolrReaderMessageListener.java:75) 
     at com.liferay.portal.search.solr.messaging.SolrReaderMessageListener.receive(SolrReaderMessageListener.java:46) 
     at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:69) 
     at com.liferay.portal.kernel.messaging.ParallelDestination$1.run(ParallelDestination.java:59) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 

和BTW,这里是我的Solr的Web Solr的-spring.xml

<beans> 
    <bean id="indexSearcher" class="com.liferay.portal.search.solr.SolrIndexSearcherImpl"> 
    <property name="serverURL" value="http://localhost:8983/solr/select" /> 
    </bean> 
    <bean id="indexWriter" class="com.liferay.portal.search.solr.SolrIndexWriterImpl"> 
    <property name="serverURL" value="http://localhost:8983/solr/update" /> 
    </bean> 
    <bean id="searchEngine" class="com.liferay.portal.search.solr.SolrSearchEngineImpl"> 
    <property name="name" value="Solr" /> 
    <property name="searcher" ref="indexSearcher" /> 
    <property name="writer" ref="indexWriter" /> 
    <property name="indexReadOnly" value="false" /> 
    </bean> 

<bean id="searchEngineUtil" class="com.liferay.portal.search.solr.SolrSearchEngineUtil" lazy-init="false"> 
    <constructor-arg ref="searchEngine" /> 
    <constructor-arg ref="searchReaderMessageListener" /> 
    <constructor-arg ref="searchWriterMessageListener" /> 
    </bean> 

,什么会schema.xml中会在这种情况下looklike

回答

0

他HttpUtils类竟是改变,因此,要解决这个一个是与我们修改

0

似乎你的应用服务器中必须有多个portal-kernel.jar文件。

此jar不能至少包含在应用服务器门户应用和插件,或者如果在如Tomcat servlet容器运行全局类路径耳的范围内进行复制。

+0

没有,这个问题是不是在罐子里的一个,以取代原来的内核类适合的要求,我搜索了tomcat目录并发现的门户kernel.jar但问题只有当我安装插件的Solr的 形势发生如下只有一个副本: 我的Solr服务器并在端口8983和Liferay的服务器在8080上运行,当我安装插件的Solr我配置更新和选择solr的URL,然后我得到了上面抛出的异常 – 2010-03-22 19:31:23