Duke - org.apache.lucene.analysis.standard.StandardAnalyzer

时间:2016-03-22 17:42:53

标签: java jar lucene standardanalyzer duke

https://github.com/larsga/Duke - 我正在使用Duke - 进行重复数据删除。

我已经设置了Duke(jar文件 - 在类路径中添加了Duke jar以及lucene jar)..

github中的示例示例 - https://github.com/larsga/Duke/wiki/SemanticDogfood

When I tried running this : 
soundaryat@IMCHLT132:~/Duke$ java no.priv.garshol.duke.Duke --testfile=doc/example-data/dogfood-test.txt --testdebug --showmatches doc/example-data/dogfood.xml

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.lucene.analysis.standard.StandardAnalyzer.<init>(Lorg/apache/lucene/util/Version;)V
    at no.priv.garshol.duke.databases.LuceneDatabase.<init>(LuceneDatabase.java:77)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at no.priv.garshol.duke.ConfigLoader.instantiate(ConfigLoader.java:292)
    at no.priv.garshol.duke.ConfigLoader.access$100(ConfigLoader.java:31)
    at no.priv.garshol.duke.ConfigLoader$ConfigHandler.startElement(ConfigLoader.java:199)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:380)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2787)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1140)
    at no.priv.garshol.duke.ConfigLoader.load(ConfigLoader.java:49)
    at no.priv.garshol.duke.Duke.main_(Duke.java:64)
    at no.priv.garshol.duke.Duke.main(Duke.java:35)

然而,同一个github中的另一个例子 - https://github.com/larsga/Duke/wiki/LinkingCountries

任何人都可以提供帮助,...提前感谢..

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,通过谷歌搜索我发现杜克与最新版本的Lucene不兼容。你在使用Lucene 5.X吗? 如果是这种情况,您应该下载旧版本的Lucene jar(4.0.0)并将它们包含在类路径中。它对我有用!

答案 1 :(得分:0)

github存储库中的特定示例存在问题。

配置文件中的https://github.com/larsga/Duke/wiki/SemanticDogfood中缺少一个文件。 (我从配置文件中发现)..特定示例中缺少一些依赖项文件。所以得到了解决。 :)

感谢您回复Enri。

答案 2 :(得分:0)

在类路径中包含这些jar文件:

lucene-core-4.0.0.jar
lucene-analyzers-common-4.2.0.jar
lucene-6.3.0.jar
duke-1.2.jar:
.
$CLASSPATH