I have a project structure like this:

Parent A
  * Declares managed dependency org.slf4j:slf4j-api:1.5.8
  * Declares managed dependency org.hibernate:hibernate-core:3.3.1.GA
  * Declares managed dependency org.hibernate:hibernate-annotations:3.4.0.GA
Child A
  * Depends on org.hibernate:hibernate-core
  * Depends on org.hibernate:hibernate-annotations

When I run dependency:list for Child A, I see that version
org.slf4j:slf4j-api:1.5.8 is selected. This is expected and correct because:
 1) hibernate-core relies on 1.5.2 (loses)
 2) hibernate-annotations depends on 1.4.2 (loses)
 3) My managed version wins

Now here is my second project:

Parent B
  * Declares managed dependency Child A
  * Declares managed dependency org.hibernate:hibernate-core:3.3.1.GA
  * Declares managed dependency org.hibernate:hibernate-annotations:3.4.0.GA
Child B
  * Depends on Child A
  * Depends on org.hibernate:hibernate-core
  * Depends on org.hibernate:hibernate-annotations

When I run dependency:list for Child B, I see that version
org.slf4j:slf4j-api:1.5.2 is selected.

Why wouldn't the managed dependency from Child A win?

Paul

Reply via email to