Maven Shared Components
  1. Maven Shared Components
  2. MSHARED-84

dependency:tree fails to show all dependencies

    Details

    • Type: Bug Bug
    • Status: Open Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: maven-dependency-tree
    • Labels:
      None
    • Environment:
      Linux (Ubuntu 8.10), i386, java version "1.6.0_10", Java(TM) SE Runtime Environment (build 1.6.0_10-b33), Java HotSpot(TM) Server VM (build 11.0-b15, mixed mode), Maven 2.0.9
    • Number of attachments :
      4

      Description

      After strugling with xerces 1.4.0 sneaking onto my classpath whenever I ran mvn eclipse:eclipse I was asked to submit the minimal pom which recreates the problem.

      The dependency in my original project which caused the problem is an artifact developed by us, which has a dependency to Castor 1.1.1. Castor has a direct dependency to xerces 1.4.0 which is visible when running dependency:tree on the ijcommons-distribution project (which is our local artifact). The problem arises when we run dependency:tree on the initial project, which has a dependency to ijcommons-distribution - then the dependency to castor and xerces is never shown, even if xerces is included on the classpath.

      Attached is the 3 poms I used to produce the problem.

      "mvn dependency:tree | grep xerces" on the project using "original-problem-pom.xml", gives the following output:

      [INFO] |     |  +- xerces:xmlParserAPIs:jar:2.6.2:compile
      [INFO] |     |  \- xerces:xercesImpl:jar:2.6.2:compile
      [INFO] |  \- xerces:dom3-xml-apis:jar:1.0:compile

      "mvn dependency:tree" on the project using "ijcommons-distribution-pom.xml", gives the following output:

      [INFO] [dependency:tree]
      [INFO] no.integrasco.commons:ijcommons-distribution:jar:0.5-SNAPSHOT
      [INFO] +- junit:junit:jar:4.4:test
      [INFO] +- ch.ethz.ganymed:ganymed-ssh2:jar:build210:compile
      [INFO] +- commons-httpclient:commons-httpclient:jar:3.1:compile
      [INFO] |  \- commons-codec:commons-codec:jar:1.2:compile
      [INFO] +- org.codehaus.castor:castor:jar:1.1.1:compile
      [INFO] |  +- cglib:cglib-full:jar:2.0.2:compile
      [INFO] |  +- javax.transaction:jta:jar:1.0.1B:compile
      [INFO] |  \- xerces:xerces:jar:1.4.0:compile
      [INFO] +- commons-logging:commons-logging:jar:1.1.1:compile
      [INFO] \- log4j:log4j:jar:1.2.14:test (scope not updated to compile)

      By adding every single dependency of original-problem-pom.xml to minimal-reproduce-pom.xml I confirmed that ijcommons-distribution.xml was the only dependency adding xerces 1.4.0 to the classpath.

      To my understanding xerces-1.4.0 should then also appear on the classpath of the project using original-problem-pom.xml?

      The POM of Castor version 1.1.1 is also attached.

      1. castor-1.1.1.pom
        10 kB
        Jaran Nilsen
      2. ijcommons-distribution-pom.xml
        2 kB
        Jaran Nilsen
      3. minimal-reproduce-pom.xml
        0.9 kB
        Jaran Nilsen
      4. original-problem-pom.xml
        8 kB
        Jaran Nilsen

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Jaran Nilsen
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated: