有没有办法覆盖 log4j 1.2.17 到 log4j2 的传递依赖关系,用于 hadoop-hdfs 3.2.1 j



我们使用的是hadoop-hdfs 3.2.1 jar,它对log4j 1.2.17具有传递依赖性。在我们的中央NexusIQ扫描中,它为log4j依赖项提供了9级问题。有没有办法将 log4j 覆盖到 log4j2 或任何其他解决方案。 我尝试了依赖项管理,但 log4j2 中没有工件 ID 为 log4j 的 jar 来覆盖传递依赖项。

简短的回答:不,这是不可能的。您无法在 Nexus 级别覆盖传递依赖项。您必须使用不同版本的hadoop-hdfs,或者使用"安全"的log4j版本自行编译。

我确实设法解决了 hbase 阴影客户端 jar 的类似问题,我必须排除 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>

成功了。

答案来源

相关内容

  • 没有找到相关文章

最新更新