java—有没有方法重写HadoopHDFS3.2.1jar的log4j1.2.17到log4j2的可传递依赖关系

hsvhsicv  于 2021-05-27  发布在  Hadoop
关注(0)|答案(2)|浏览(322)

我们使用的是hadoophdfs3.2.1jar,它对log4j1.2.17有一个可传递的依赖关系。在我们的中心nexusiq扫描中,它给出了log4j依赖的9级问题。是否有方法将log4j重写为log4j2或任何其他解决方案。我尝试了依赖关系管理,但是log4j2中没有工件id为log4j的jar来覆盖可传递的依赖关系。

93ze6v8z

93ze6v8z1#

我确实设法解决了hbase着色客户端jar的类似问题,在这个问题上,我必须排除log4j1.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>

成功了。
答案来源

qvsjd97n

qvsjd97n2#

简而言之:不,那是不可能的。你没有办法在nexus级别重写可传递的依赖关系。你必须使用不同版本的 hadoop-hdfs ,或者自己用“安全”的log4j版本编译。

相关问题