#java #elasticsearch #log4j
#java #elasticsearch #log4j
Вопрос:
Я разрабатываю Java-приложение, которое использует elasticsearch. Я использую API elasticsearch на Java. Я получаю ошибку NoSuchMethodError:
java.lang.Ошибка NoSuchMethodError: org.apache.ведение журнала.log4j.Logger.trace(Ljava/lang/String;Ljava/lang/Object;)V
Я включил свой pom-файл
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.4.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>5.4.2</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.10</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3</version>
</dependency>
</dependencies>
Комментарии:
1. Каково решение для этого @lavan-giri
Ответ №1:
Пожалуйста, проверьте зависимость Log4j, которая у вас есть, от пути к классу. Для elasticsearch 5.4.x вам нужен Log4j 2.8.2 (api и ядро), а не 2.3. Смотритеhttps://www.elastic.co/guide/en/elasticsearch/client/java-api/5.4/_log4j_2_logger.html