0

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

任何人都可以帮忙,..提前谢谢..

4

3 回答 3

2

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

于 2016-04-07T15:42:48.597 回答
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
于 2016-12-01T08:33:13.440 回答
0

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

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

也感谢您的回复 Enri。

于 2016-04-10T07:59:22.607 回答