【问题标题】:excluding log4j from third party jar in pom从 pom 中的第三方 jar 中排除 log4j
【发布时间】:2023-03-20 14:13:02
【问题描述】:

我正在创建一个访问现有业务代码的网络服务。 处理日志记录所需的 jar 是 org.ops4j.pax.logging。 我已将其包含在 pom 中

    <dependency>
       <groupId>org.ops4j.pax.logging</groupId>
       <artifactId>pax-logging-api</artifactId>
       <version>1.6.0</version>
    </dependency>

此 jar 允许访问在整个业务层中使用的特定 log4j 方法

LOGGER.debug(object, object);

其他必需的 jar 之一是第三方 jar。 这个 jar 包含不同版本的 log4j,它没有实现 debug(object, object) 方法。 当我将这个jar添加到pom中时,JVM首先在这个第三方jar中找到log4j类,代码就掉了。

我曾尝试排除第三方jar中的log4j,但无济于事。

<dependency>
  <groupId>...</groupId>
  <artifactId>...</artifactId>
  <version>...</version>        
  <exclusions>      
    <exclusion>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
    </exclusion>
  </exclusions>
</dependency>   

有什么想法吗?

【问题讨论】:

  • 你确定这是唯一会引入不需要的 log4j 的依赖项吗?您可能还需要将其从其他依赖项中排除。
  • 谢谢。通过忽略第三方 jar 并从 maven 拉入 jar 中包含的依赖项解决了问题。忽略 log4j 依赖。干杯。

标签: spring maven pom.xml


【解决方案1】:

这是https://www.baeldung.com/slf4j-classpath-multiple-bindings的正确答案

<exclusions>
    <exclusion>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </exclusion>
    <exclusion>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
    </exclusion>
</exclusions>

【讨论】:

    【解决方案2】:

    有时即使在排除 log4j 之后也会显示 log4j-core。以下配置对我有用。

    <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
            </exclusion>
            <exclusion>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
            </exclusion>
        </exclusions>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-24
      • 2020-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 2019-01-27
      相关资源
      最近更新 更多