2016-03-22 2 views
0

https://github.com/larsga/Duke - Ich benutze Duke - für Datendeduplizierung.Duke - org.apache.lucene.analysis.standard.StandardAnalyzer

Ich habe Setup Duke (JAR-Dateien - Duke Glas sowie lucene Gläser werden in dem Classpath hinzugefügt) ..

Musterbeispiel in der github- https://github.com/larsga/Duke/wiki/SemanticDogfood

When I tried running this : 
[email protected]:~/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) 

während das andere Beispiel in der gleichen github arbeitet - https://github.com/larsga/Duke/wiki/LinkingCountries

kann jemand helfen .. Vielen dank im Voraus ..

Antwort

1

hatte ich das gleiche Problem und durch googli Ich habe herausgefunden, dass Duke nicht mit den neuesten Versionen von Lucene kompatibel ist. Verwenden Sie Lucene 5.X? Wenn das der Fall ist, sollten Sie die älteren Versionen von Lucene jars (4.0.0) herunterladen und sie in den Klassenpfad aufnehmen. Es hat für mich funktioniert!

+0

Hallo Enri. Können Sie bitte meinen Kommentar oben überprüfen. Vielen Dank :-) –

0

Es gibt ein Problem mit dem bestimmten Beispiel aus dem Repository github.

Es fehlt eine Datei in der https://github.com/larsga/Duke/wiki/SemanticDogfood aus der Konfigurationsdatei. (Ich habe es aus der Konfigurationsdatei herausgefunden) .. Es gibt einige Abhängigkeitsdateien, die für das spezielle Beispiel fehlen. So wurde gelöst. :)

Danke für Ihre Antwort Enri auch.

0

Fügen Sie diese JAR-Dateien in Klassenpfad:

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