Spring 从pom中的第三方jar中排除log4j
我正在创建一个能够访问现有业务代码的Web服务。 处理日志记录的必需jar是org.ops4j.pax.logging。 我已经把它包括在pom中了Spring 从pom中的第三方jar中排除log4j,spring,maven,pom.xml,Spring,Maven,Pom.xml,我正在创建一个能够访问现有业务代码的Web服务。 处理日志记录的必需jar是org.ops4j.pax.logging。 我已经把它包括在pom中了 <dependency> <groupId>org.ops4j.pax.logging</groupId> <artifactId>pax-logging-api</artifactId> <version>1.6.0</
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-api</artifactId>
<version>1.6.0</version>
</dependency>
另一个必需的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
log4j
有什么想法吗?这是我的正确答案
org.slf4j
slf4j-log4j12
log4j
log4j
您确定这是唯一一个拉入不需要的log4j的依赖项吗?您可能还需要将其从其他依赖项中排除。谢谢。通过忽略第三方jar并从maven中引入jar中包含的依赖项,问题得以解决。忽略log4j依赖性。干杯
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>