0

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

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

它同时下载slf4j-log4j12slf4j- jdk14 ,这会导致绑定冲突。我试图通过使用排除它

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

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

4

1 回答 1

3

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

<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>
于 2013-04-10T21:26:10.297 回答