作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
无法弄清楚是什么原因导致 ' 名称为“Lucene42”的 org.apache.lucene.codecs.Codec 类型的 SPI 类不存在。您需要将支持此 SPI 的相应 JAR 文件添加到您的类路径中'
任何帮助将不胜感激
java.lang.IllegalArgumentException: A SPI class of type org.apache.lucene.codecs.Codec with name 'Lucene42' does not exist. You need to add the corresponding JAR file supporting this SPI to your classpath.The current classpath supports the following names: []
org.apache.lucene.util.NamedSPILoader.lookup(NamedSPILoader.java:104)
org.apache.lucene.codecs.Codec.forName(Codec.java:95)
org.apache.lucene.codecs.Codec.<clinit>(Codec.java:122)
org.apache.lucene.index.LiveIndexWriterConfig.<init>(LiveIndexWriterConfig.java:118)
org.apache.lucene.index.IndexWriterConfig.<init>(IndexWriterConfig.java:145)
com.damn.fr.rr.rent.getResukt(Man.java:404)
com.damn.fr.rr.handler.pg.setResult(pg.java:103)
com.damn.fr.rr.cmd.del.execute(del.java:19)
com.damn.fr.rr.servlet.PublicController.doPost(controller.java:199)
javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
Jboss 部署文件夹路径 'C:\JBAS\modules\org\apache\lucene\main' 及目录内容
jboss-deployment-structure.xml
<sub-deployment name="damn.jar">
<dependencies>
<module name="org.apache.commons.fileupload" />
<module name="org.apache.commons.io" />
<module name="org.apache.commons.lang3" />
<module name="org.apache.commons.validator" />
<module name="org.apache.lucene" />
<module name="net.sf.jasperreports" />
<module name="com.google.gson" />
</dependencies>
</sub-deployment>
模块.xml
<module xmlns="urn:jboss:module:1.0" name="org.apache.lucene">
<resources>
<resource-root path="lucene-analyzers-common-4.2.0.jar"/>
<resource-root path="lucene-core-4.2.0.jar"/>
<resource-root path="lucene-queryparser-4.2.0.jar"/>
<resource-root path="lucene-codecs-4.2.0.jar"/>
</resources>
<dependencies>
</dependencies>
ant构建文件段
<pathelement path="${thirdPartyDir}/lucene-analyzers-common-4.2.0.jar" />
<pathelement path="${thirdPartyDir}/lucene-codecs-4.2.0.jar" />
<pathelement path="${thirdPartyDir}/lucene-queryparser- 4.2.0.jar" />
<pathelement path="${thirdPartyDir}/lucene-core-4.2-SNAPSHOT.jar" />
最佳答案
请添加以下文件
文件夹:META-INF/services/
文件:org.apache.lucene.codecs.Codec
文本:org.apache.lucene.codecs.lucene54.Lucene54Codec
请在 https://anwaarlabs.wordpress.com/2017/02/25/lucene-an-spi-class-of-type-org-apache-lucene-codecs-codec-with-name-does-not-exist/ 查看带有详细说明的解决方案
此解决方案是为 Lucene5.4 定义的,它也适用于 Lucene 4.2。谢谢
关于java - 是什么导致错误 ' A SPI class of type lucene.codecs.Codec name ' Lucene42',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29818169/
我是一名优秀的程序员,十分优秀!