ich für das Unit-Tests in Elasticsearch ausführen möchte ich Java-test-framework
verwende ich bin mit Elasticsearch-1.6.0
und unter Bezugnahme auf diesen Link, um Hilfe https://www.elastic.co/guide/en/elasticsearch/reference/1.6/using-elasticsearch-test-classes.html https://github.com/elastic/elasticsearch/blob/master/core/src/test/java/org/elasticsearch/action/search/SearchRequestBuilderTests.javajava.lang.NoClassDefFoundError: org/Apache/Lucene/Codecs/Simple/SimpleTextCodec
hier ist der Code
class CampaignESTest extends ESTestCase {
def getCLient():MockTransportClient={
val settings = Settings.builder()
.put(Environment.PATH_HOME_SETTING.getKey(), Files.createTempDir().toString())
.build();
val client = new MockTransportClient(settings);
client
}
}
class CampaignTestSearch extends PlaySpec{
val client=new CampaignESTest
val response = client.prepareSearch("dbtest")
.setTypes(CAMPAIGN_COLLECTION_NAME)
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.addFields("uuid","campaignName","artworkID","activationDate","_source")
.setQuery(query)
.execute()
.actionGet()
}
ich erhalte diese Ausnahme
Exception encountered when attempting to run a suite with class name: org.scalatest.DeferredAbortedSuite *** ABORTED ***
[info] java.lang.NoClassDefFoundError: org/apache/lucene/codecs/simpletext/SimpleTextCodec
[info] at org.apache.lucene.util.LuceneTestCase.<clinit>(LuceneTestCase.java:616)
[info] at testcontrollers.campaign.CampaignTestSearch.<init>(CampaignTestSearch.scala:40)
[info] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[info] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[info] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[info] at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[info] at java.lang.Class.newInstance(Class.java:442)
[info] at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:468)
[info] at sbt.ForkMain$Run$2.call(ForkMain.java:296)
[info] at sbt.ForkMain$Run$2.call(ForkMain.java:286)
[info] ...
[info] Cause: java.lang.ClassNotFoundException: org.apache.lucene.codecs.simpletext.SimpleTextCodec
[info] at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
[info] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
[info] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
[info] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[info] at org.apache.lucene.util.LuceneTestCase.<clinit>(LuceneTestCase.java:616)
[info] at testcontrollers.campaign.CampaignTestSearch.<init>(CampaignTestSearch.scala:40)
[info] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[info] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[info] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[info] at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[info] ...
auf dieser Linie eine Ausnahme immer
val client=new CampaignESTest
in Klasse CampaignTestSearch
hier ist die Abhängigkeiten in build.sbt
Datei
"org.elasticsearch" % "elasticsearch" % "1.6.0",
"org.elasticsearch.test" % "framework" % "5.0.0" % "test",
"org.apache.lucene" % "lucene-test-framework" % "4.10.4" % "test",
"com.carrotsearch.randomizedtesting" % "randomizedtesting-runner" % "1.6.0" % "test",
"org.a"org.apache.lucene" % "lucene-expressions" % "4.10.4",
pache.lucene" % "lucene-backward-codecs" % "5.4.0",
ich die Ursache der Ausnahme vermuten, vielleicht wegen Einige Versionen der Abhängigkeiten können jeder bitte mit der korrekten Bibliotheksabhängigkeitsversion helfen, um es zu machen zu arbeiten oder ist tehre etwas anderes, das ich
bin fehlt
diese Ausnahme Dank wurde behoben, aber ich bin eine andere Ausnahme bekommen https://stackoverflow.com/questions/45768480/java-lang-noclassdeffounderror-org-apache-logging-log4j-logger – swaheed