依存関係管理に ivy を使用して ant でプロジェクトをビルドしています。ivysetting ファイルはありませんがivy.xml
、次の依存関係があります (commons ロギングの代わりに slf4j で spring を使用したい):
<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
また、明示的な依存関係で除外を使用しようとしましたcommons-logging
が、常にコンパイル クラスパスに配置されます。
私のせいは何ですか?Commons Logging を使用していないということは、maven について説明していることではありませんか? アイビーバグですか?特別な設定が必要ですか?アイビーは何かをキャッシュしましたか?何か案が?
私は ant 1.8.2 と ivy 2.2.0 を使用しています。Eclipse で IvyDE を使用すると同じ問題が発生します。