2017-10-27 3 views
0

Das Projekt, an dem ich arbeite, erfordert die Verwendung von Elasticsearch und einer Abhängigkeit (ich habe das Design nicht entworfen oder diktiert), die Lucene verwendet und in einen Versionskonflikt zwischen den beiden mündet . Der folgende Fehler wird ausspucken, wenn ich versuche, das Projekt zu startenLUCENE Versionskonflikt zwischen Elasticsearch und Projektabhängigkeit

Exception in thread "main" java.lang.NoSuchFieldError: LUCENE_5_2_1 
    at org.elasticsearch.Version.<clinit>(Version.java:39) 
    at org.elasticsearch.common.io.stream.StreamOutput.<init>(StreamOutput.java:74) 
    at org.elasticsearch.common.io.stream.BytesStreamOutput.<init>(BytesStreamOutput.java:60) 
    at org.elasticsearch.common.io.stream.BytesStreamOutput.<init>(BytesStreamOutput.java:57) 
    at org.elasticsearch.common.io.stream.BytesStreamOutput.<init>(BytesStreamOutput.java:47) 
    at org.elasticsearch.common.xcontent.XContentBuilder.builder(XContentBuilder.java:69) 
    at org.elasticsearch.common.settings.Setting.arrayToParsableString(Setting.java:726) 
    at org.elasticsearch.common.settings.Setting.lambda$listSetting$26(Setting.java:672) 
    at org.elasticsearch.common.settings.Setting$2.getRaw(Setting.java:676) 
    at org.elasticsearch.common.settings.Setting.lambda$listSetting$24(Setting.java:660) 
    at org.elasticsearch.common.settings.Setting.listSetting(Setting.java:665) 
    at org.elasticsearch.common.settings.Setting.listSetting(Setting.java:660) 
    at org.elasticsearch.common.network.NetworkService.<clinit>(NetworkService.java:50) 
    at org.elasticsearch.client.transport.TransportClient.newPluginService(TransportClient.java:91) 
    at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:119) 
    at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:247) 
    at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:92) 
    at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:81) 
    at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:71) 

Jede Idee, ob sie möglich, ohne in der Lage zu lösen das Design der Abhängigkeit oder Elasticsearch zu diktieren?

+0

Fühlen Sie sich dumm, war in der Lage, es zu lösen, indem Sie die Lucene Kernabhängigkeit bei der benötigten Version (5.2.1) bringen. – MarkII

+0

Fühlen Sie sich nicht schlecht; es passiert. Sie können dies wieder gut machen, indem Sie eine Antwort auf Ihre eigene Frage schreiben, die genau dokumentiert, was zur Behebung des Problems erforderlich war. Wenn jemand ein ähnliches Problem hat, kann er aus der Antwort lernen. – Rob

+0

Ja, ich werde, warte, um zu sehen, ob irgendwelche anderen Beiträge zuerst mit anderen Lösungen kommen, die ich nicht kenne. – MarkII

Antwort

0

Nachdem die Lucene-Kernabhängigkeit, die in dem Fehler erwähnt wird, dem Projekt hinzugefügt wurde. build.gradle enthält jetzt compile group: 'org.apache.lucene', name: 'lucene-core', version: '5.2.1' und das hat das Problem gelöst.

Verwandte Themen