У меня есть приложения Spring Boot, которые используют сторонние библиотеки. Эта библиотека использует log4j
в качестве регистратора. Когда в пути к классам нет log4j
, мое приложение не запускается из-за того, что сторонняя библиотека выдает исключение, указывающее на отсутствие log4j
. Чтобы справиться с этим, я решил использовать log4j2
вместо Spring по умолчанию logback
. Для этого я добавил следующее в pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
Кроме того, чтобы разрешить работу этой трехсторонней библиотеки, я также добавил:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>compile</scope>
</dependency>
Теперь, сторонняя библиотека работает, однако все регистрируется дважды. Как мне справиться с этим?