【问题标题】:How to depend on log4j in a Sonarqube plugin?如何在 Sonarqube 插件中依赖 log4j?
【发布时间】:2017-07-04 11:18:32
【问题描述】:

我正在开发一个 SonarQube 5.6 插件。该插件依赖于库 X(第三方库)。库 X 依赖于 Log4J。为了解决依赖问题,我在 pom.xml 中添加了 log4j 依赖,并提供了 SonarQube 文档中定义的范围。但在运行时我得到类未找到与 log4j 相关的异常。

当我更改我的第三方库,使其不再使用 log4j(基本上 log4j 相关代码被注释掉)时,问题就消失了。

我应该如何在 SonarQube 中添加 log4j 依赖项,或者我应该怎么做才能在我的 SonarQube 插件中解决 log4j 的问题?或者当容器说它将提供依赖但它没有提供依赖时,处理此类问题的最佳方法是什么?

依赖声明如下:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.8.2</version>
</dependency>

【问题讨论】:

  • @slartidan pom.xml 是 sonarqube 插件的标准配置,我没有什么特别的想法。这只是我要问的一个用例。
  • org.apache.logging.log4jlog4j-core2.8.2

标签: java maven log4j sonarqube sonarqube-plugin


【解决方案1】:

您应该排除任何 log4j 依赖项,而是依靠 log4j-over-slf4j 将任何 log4j 调用重定向到 slf4j。

log4j-over-slf4j 应该已经在运行时插件类加载器中提供,所以基本上它应该可以开箱即用。您面临什么样的问题?

【讨论】:

  • 我的第三方 jar 依赖于 log4j 。我不能修改那个罐子。这个 jar 被添加为插件中的依赖项。
猜你喜欢
  • 2016-08-21
  • 2016-08-11
  • 2022-01-22
  • 2016-08-25
  • 2017-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
相关资源
最近更新 更多