significa que configurar configuracion como comando archivos java scala elasticsearch elasticsearch-1.6.0

java - que - Elasticsearch: se encontrĂ³ el infierno del tarro en el classpath de prueba



que significa classpath en java (1)

Quiero realizar pruebas unitarias en Elasticsearch para las que estoy usando Java-test-framework
Estoy usando Elasticsearch-1.6.0 y refiriéndome a este enlace para obtener ayuda 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.java

aquí está el código

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() }

Estoy recibiendo estas excepciones

Exception encountered when attempting to run a suite with class name: org.scalatest.DeferredAbortedSuite *** ABORTED *** [info] java.lang.ExceptionInInitializerError: [info] at org.elasticsearch.test.ESTestCase.<clinit>(ESTestCase.java:138) [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.RuntimeException: found jar hell in test classpath [info] at org.elasticsearch.bootstrap.BootstrapForTesting.<clinit>(BootstrapForTesting.java:90) [info] at org.elasticsearch.test.ESTestCase.<clinit>(ESTestCase.java:138) [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] ... [info] Cause: java.nio.file.NoSuchFileException: /home/testproject/target/web/classes/test [info] at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) [info] at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) [info] at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) [info] at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55) [info] at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:144) [info] at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99) [info] at java.nio.file.Files.readAttributes(Files.java:1737) [info] at java.nio.file.FileTreeWalker.getAttributes(FileTreeWalker.java:219) [info] at java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:276) [info] at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:322)

obteniendo una excepción en esta línea

val client=new CampaignESTest

en la clase CampaignTestSearch

Aquí están las dependencias en el archivo build.sbt

libraryDependencies ++= Seq(filters, "org.scalatest" %% "scalatest" % "2.2.6" % "test"withSources() withJavadoc(), "org.scalatestplus" %% "play" % "1.4.0-M3" % "test", "com.esotericsoftware.kryo" % "kryo" % "2.10", "org.mongodb" %% "casbah" % "2.8.0", "org.slf4j" % "slf4j-api" % "1.6.4", "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.apache.lucene" % "lucene-codecs" % "4.10.4" % "test", "org.apache.logging.log4j" % "log4j-core" % "2.8.2", "org.apache.logging.log4j" % "log4j-slf4j-impl" % "2.8.2" , "org.apache.logging.log4j" % "log4j-api" % "2.8.2", "com.typesafe.akka" %% "akka-actor" % "2.3.6", "com.typesafe.akka" % "akka-testkit_2.11" % "2.3.6", "ch.qos.logback" % "logback-core" % "1.0.9", "com.github.nscala-time" %% "nscala-time" % "2.0.0", "com.hazelcast" % "hazelcast" % "3.5", "com.hazelcast" % "hazelcast-client" % "3.5", "com.twitter" % "chill-bijection_2.11" % "0.7.0", "com.github.slugify" % "slugify" % "2.1.3" , "org.mindrot" % "jbcrypt" % "0.3m", "org.codehaus.groovy" % "groovy-all" % "2.4.0", "org.apache.lucene" % "lucene-expressions" % "4.10.4", "com.restfb" % "restfb" % "1.19.0", "org.twitter4j" % "twitter4j-core" % "4.0.0", "org.scribe" % "scribe" % "1.3.5", "com.google.code.gson" % "gson" % "2.6.2", "com.google.oauth-client" % "google-oauth-client" % "1.20.0", "com.google.api.client" % "google-api-client-auth-oauth2" % "1.2.0-alpha", "com.google.api-client" % "google-api-client" % "1.20.0", "com.google.http-client" % "google-http-client-jackson" % "1.20.0", "com.google.apis" % "google-api-services-oauth2" % "v2-rev120-1.20.0", "com.google.oauth-client" % "google-oauth-client-appengine" % "1.20.0", "com.google.oauth-client" % "google-oauth-client-java6" % "1.20.0", "com.google.oauth-client" % "google-oauth-client-jetty" % "1.20.0", "com.google.oauth-client" % "google-oauth-client-servlet" % "1.20.0", "com.google.apis" % "google-api-services-calendar" % "v3-rev120-1.19.1", "com.google.inject" % "guice" % "3.0", "org.mockito" % "mockito-all" % "1.10.19")

¿Cómo se resolverán estas excepciones? También probé la solución aquí. Bit de Excepción de Tiempo de Ejecución de Java Jar hell cuando intento crear una clase JarHell en el JarHell org/elasticsearch/bootstarp , no me permite crearla diciendo que el tipo ya existe. También intenté buscar en la Clase pero no lo hice. encontrado, por favor guía


Como observa @Val, un marco de prueba para ES v5 no funcionará con ES v1.

¿Por qué no actualizar a una versión más reciente de ES?

Como recuerdo, el viejo v1 tiene algunas fallas de seguridad serias. Plus ES 5 tiene mejor rendimiento, etc.

La otra cosa que puede hacer es desacoplar sus pruebas de la versión exacta de ES, mediante el uso de una biblioteca http como Jest o ESJC .