使用slfj-log4j12时如何正确排除slf4j-jdk14?

时间:2013-04-10 02:41:43

标签: log4j ivy slf4j

我在项目中使用Ivy进行依赖管理。我想使用 SLF4J 进行日志记录。我添加了

<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.7.5" />

它会下载 slf4j-log4j12 slf4j-jdk14 ,这会导致绑定冲突。我尝试使用

将其排除
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.7.5">
  <exclude module="slf4j-jdk14" />
</dependency>

但该模块仍在下载。我已将排除标记直接放在依赖项标记下,以排除此模块。为什么呢?

1 个答案:

答案 0 :(得分:2)

解决此问题的最简单方法是创建全局排除:

<dependencies>
   <dependency ..
   <dependency ..
   <dependency ..

   <exclude org="org.slf4j" module="slf4j-jdk14"/>
</dependencies>

要发现传递依赖的来源,我建议始终生成常春藤报告:

<target name="resolve" description="Resolve dependencies using ivy">
    <ivy:resolve/>
    <ivy:report todir="${build.dir}/ivy-report" graph="false"/>
</target>