Я использую Apache Ivy + IvyDE для получения зависимостей моего проекта:
<dependency org="com.google.guava" name="guava" rev="r08" />
<!-- logging -->
<dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.1" />
<dependency org="ch.qos.logback" name="logback-classic" rev="0.9.27" />
<!-- database -->
<dependency org="org.hibernate" name="hibernate-entitymanager" rev="3.6.2.Final" />
<dependency org="org.hibernate" name="hibernate-validator" rev="4.1.0.Final" />
<dependency org="org.hibernate" name="hibernate-c3p0" rev="3.6.2.Final" />
<dependency org="mysql" name="mysql-connector-java" rev="5.1.14" />
Источниками являются репозитории Maven и JBoss (Hibernate).
Как видите, я использую logback + SLF4J для ведения журнала, но по какой-то причине Айви также загрузит log4j и slf4j-log4j, что вызывает несколько небольших проблем в моем приложении.
Есть ли способ узнать, почему это происходит, чтобы увидеть, какие из приведенных выше зависимостей зависят от log4j? Могу ли я получить график / дерево зависимостей, сгенерированный из Ivy / IvyDE?
И есть ли способ предотвратить это?