Исправьте путь к классам вашего приложения, чтобы оно содержало единственную совместимую версию org.elasticsearch.common.ведение журнала.Регистраторы

#spring-boot #elasticsearch #intellij-idea #classpath #blogger

#весенняя загрузка #elasticsearch #intellij-idea #путь к классам #blogger

Вопрос:

Я получаю следующую ошибку при запуске моего приложения Spring boot, я новичок в Spring boot и эластичном поиске, пожалуйста, помогите решить эту проблему.И прикрепил мои зависимости от pom ниже. Заранее спасибо,

*************************** НЕ УДАЛОСЬ ЗАПУСТИТЬ ПРИЛОЖЕНИЕ ***************************

Описание:

Была предпринята попытка вызвать метод org.elasticsearch.common .ведение журнала.Loggers.getLogger(Ljava/lang/String;)Lorg/apache/logging/log4j/Logger; но он не существует. Его класс org.elasticsearch.common.ведение журнала.Loggers, доступно в следующих расположениях:

 jar:file:/C:/Users/Sudhakar/.m2/repository/org/elasticsearch/elasticsearch/6.6.2/elasticsearch-6.6.2.jar!/org/elasticsearch/common/logging/Loggers.class
  

Оно было загружено из следующего расположения:

 file:/C:/Users/Sudhakar/.m2/repository/org/elasticsearch/elasticsearch/6.6.2/elasticsearch-6.6.2.jar
  

Экшен:

Исправьте путь к классам вашего приложения, чтобы оно содержало единственную совместимую версию org.elasticsearch.common.ведение журнала.Регистраторы

Процесс завершен с кодом выхода 1

Зависимости Maven:

 <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
            <version>2.11.1</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.24</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>6.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>transport</artifactId>
            <version>6.6.2</version>
        </dependency>
  

Комментарии:

1. Какую версию Spring Boot вы используете?

2. 2.1.1 Я использую

Ответ №1:

При загрузке Spring по умолчанию используется Elasticsearch 6.4. Используя 6.6.2 в качестве версий для двух модулей Elasticsearch, вы получите смесь двух версий. Вам следует удалить <version> конфигурацию в вашем pom. Если вы можете использовать версию Spring Boot по умолчанию, больше ничего не нужно делать. Если вам нужно использовать 6.6.2, вы должны добавить запись в свой pom <properties> :

 <elasticsearch.version>6.6.2</elasticsearch.version>