我正在尝试使用Solr(8.0.0)中的文档来启动和运行Velocity界面,但是我总是遇到以下错误:
org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: org/apache/solr/response/QueryResponseWriter
java.lang.ClassNotFoundException: org.apache.solr.response.QueryResponseWriter
我尝试了许多配置,将lib文件夹置于核心,solr主页,服务器根目录中……将其通过solrconfig.xml。
即使在标准示例“ techproduct”中,速度也不起作用。
在solrconfig中,我添加了以下代码:
...
<!--<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" />-->
<lib dir="../lib" regex=".*\.jar" />
...
<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter">
<str name="template.base.dir">${velocity.template.base.dir:}</str>
<!--
<str name="init.properties.file">velocity-init.properties</str>
<bool name="params.resource.loader.enabled">true</bool>
<bool name="solr.resource.loader.enabled">false</bool>
<lst name="tools">
<str name="mytool">com.example.MyCustomTool</str>
</lst>
-->
</queryResponseWriter>
...
<requestHandler name="/browse" class="solr.SearchHandler" useParams="query,facets,velocity,browse">
<lst name="defaults">
<str name="echoParams">explicit</str>
</lst>
</requestHandler>
有没有建议?
答案 0 :(得分:1)
将jar "solr-velocity-7.5.0"
从"D:\solr-7.5.0\solr-7.5.0\dist"
复制到"D:\solr-7.5.0\solr-7.5.0\server\solr-webapp\webapp\WEB-INF\lib"
。
通用方法是将"solr-velocity-7.5.0"
jar从"...\solr-7.5.0\dist"
复制到"...\solr-7.5.0\server\solr-webapp\webapp\WEB-INF\lib"
注意:在Linux或其他操作系统上,文件夹位置可以不同。
答案 1 :(得分:0)
在上面给出的配置中,加载速度库的lib指令被注释掉。在XML中,<!--
和-->
之间的任何内容都被视为注释:
<!--<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
...
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" />-->
删除注释并重新启动-建议使用lib
指令来加载库,因为它使您可以轻松切换已加载的库以及可用于哪个内核,而不必记住将库复制到一个库中。安装核心或升级Solr之后的特定位置。