Java 如何在ApacheSolr云模式下加载本机库(.so)?
我已经编写了一个SOLR自定义查询解析器(org.apache.SOLR.search.QParser的实现)。我的查询解析器使用一些第三方JAR。其中一个第三方jar需要本机库(.so文件)才能工作。在非云模式下运行solr时,此插件工作正常,但在云模式下运行时,solr会抛出以下错误:Java 如何在ApacheSolr云模式下加载本机库(.so)?,java,apache,solr,lucene,Java,Apache,Solr,Lucene,我已经编写了一个SOLR自定义查询解析器(org.apache.SOLR.search.QParser的实现)。我的查询解析器使用一些第三方JAR。其中一个第三方jar需要本机库(.so文件)才能工作。在非云模式下运行solr时,此插件工作正常,但在云模式下运行时,solr会抛出以下错误: java.lang.UnsatisfiedLinkError: Native Library /opt/solr-6.2.0/lib/xyz.so already loaded in another clas
java.lang.UnsatisfiedLinkError: Native Library /opt/solr-6.2.0/lib/xyz.so already loaded in another classloader
我将所有第三方和查询解析器JAR和.so文件保存在SOLR_HOME/lib目录中,并修改了:
请帮忙。提前感谢。最后,我找到了解决方案(这要归功于我的一位大四学生)。在云模式下运行时,请遵循以下说明:
SOLR\u HOME
中创建lib
目录,并将本机库(.so)文件放在那里SOLR\u HOME/bin/SOLR
文件中,将此行添加到SOLR\u START\u选项中
:
SOLR_START_OPTS=“-Djava.library.path=$SOLR_TIP/lib/”lib
文件夹,并将所有自定义插件jar放入这些新创建的lib文件夹中