dependencies - util - org.slf4j.logger maven




如何排除常春藤與春藤的日誌依賴性? (2)

我有一個使用ivy進行依賴管理的ant項目。 我沒有ivysetting文件,但具有以下依賴項的ivy.xml (我想用slf4j而不是常見的日誌記錄):

<configurations>
  <conf name="compile" />
  <conf name="runtime" extends="compile"/>
</configurations>
<dependencies>
  <dependency org="org.springframework" name="spring-webmvc" rev="3.0.5.RELEASE" conf="compile->default">
    <exclude org="commons-logging" name="commons-logging"/>
  </dependency>
  <dependency org="org.slf4j" name="slf4j-api" rev="1.6.1" conf="compile->default" />
  <dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.1" conf="runtime->default" />
</dependencies>

但是在解析編譯配置時, commons-logging已經解決了。 我也嘗試在顯式的spring-core依賴上使用exclude,但是commons-logging總是放在編譯類路徑中。

我的錯是什麼? 是不是使用Common Common Logging描述的maven? 這是一個常春藤錯誤嗎? 需要我一個特殊的設置? 常春藤的東西緩存? 任何想法?

我使用ant 1.8.2和ivy 2.2.0,在Eclipse中使用IvyDE也有同樣的問題。


由於未知的原因,您對<exclude />似乎被破壞了。 我在我的電腦上試過類似的東西,下面的工作:
嘗試頂級排除 (直接在<dependencies />

    <dependencies>
      <dependency org="org.springframework" name="spring-webmvc" rev="3.0.5.RELEASE" conf="compile->default">
      </dependency>
      <dependency org="org.slf4j" name="slf4j-api" rev="1.6.1" conf="compile->default" />
      <dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.1" conf="runtime->default" />
      <exclude org="commons-logging"/>
</dependencies>

我不知道為什麼另一個不工作。 JIRA中有一些關於排除和循環依賴的錯誤,但似乎並不適合這種情況。 也許這是一個真正的錯誤。


`<exclude name="commons-logging"/>

放在上面作為一般排除可能會更好地為您服務。