Есть ли способ переопределить транзитивную зависимость log4j 1.2.17 к log4j2 для has oop -hdfs 3.2.1 jar - PullRequest
1 голос
/ 16 января 2020

Мы используем jar oop -hdfs 3.2.1, и он имеет транзитивную зависимость от log4j 1.2.17. В нашем центральном сканировании NexusIQ это дает проблему уровня 9 для зависимости log4j. Есть ли способ переопределить log4j на log4j2 или любое другое решение. Я пытался управлять зависимостями, но в log4j2 нет jar с идентификатором артефакта log4j, чтобы переопределить транзитивную зависимость.

Ответы [ 2 ]

1 голос
/ 16 января 2020

Краткий ответ: нет, это невозможно. У вас нет способа переопределить переходную зависимость на уровне Nexus. Вам придется использовать другую версию hadoop-hdfs или самостоятельно скомпилировать ее с «безопасной» версией log4j.

0 голосов
/ 24 января 2020

Мне удалось решить аналогичную проблему для jar hbase-shaded-client, где мне пришлось исключить зависимость log4j 1.2.17.

Для этого я сделал это.

 <dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>...</version>
<exclusions>
  <exclusion>
    <artifactId>log4j</artifactId>
    <groupId>log4j</groupId>
  </exclusion>
</exclusions>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>1.7.25</version>

Это сработало.

Источник ответа

...