Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Nightly Builds
    • Fix Version/s: 1.1
    • Component/s: None
    • Labels:
      None
    • Environment:

      Operating System: other
      Platform: Other

      Description

      For the transitive dependency feature of Maven 2 to work, the group and artifact
      IDs need to be consistent across projects.

      I'm having trouble with a project that depends on MyFaces 1.1.0 and Chain 1.0.

      Chain is bringing in a dependency on MyFaces 1.0.8-beta which has a different
      artifact id, and Maven has no way of knowing that myfaces-jsf-api-1.0.8-beta.jar
      and myfaces-api-1.1.0.jar are two versions of the same artifact.

      Similarly, updating the group and artifact ids for the Sun APIs. (See:
      http://maven.apache.org/reference/standard-sun-jar-names.html)

        Activity

        Hide
        Wendy Smoak added a comment -

        Created an attachment (id=16707)
        Patch for Chain's Maven build

        Show
        Wendy Smoak added a comment - Created an attachment (id=16707) Patch for Chain's Maven build
        Hide
        Joe Germuska added a comment -

        Patch applied in commit set 322530. Thanks, Wendy!

        Show
        Joe Germuska added a comment - Patch applied in commit set 322530. Thanks, Wendy!
        Hide
        Wendy Smoak added a comment -

        Can the pom in the repository be fixed as well?
        http://www.ibiblio.org/maven2/commons-chain/commons-chain/1.0/commons-chain-1.0.pom

        At least the servlet and portlet sections could be fixed. I'm not so sure about
        changing the MyFaces dependency, since it involves a different version. Then
        again, it could be argued that switching from a beta to the official certified
        api .jar isn't a bad thing.

        For now, projects which depend on Chain 1.0, can work around the unwanted m2
        transitive dependencies with exclusions. For example:

        <dependency>
        <groupId>myfaces</groupId>
        <artifactId>myfaces-api</artifactId>
        <version>1.1.0</version>
        <exclusions>
        <exclusion>
        <groupId>myfaces</groupId>
        <artifactId>myfaces-jsf-api</artifactId>
        </exclusion>
        </exclusions>
        </dependency>

        and

        <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.4</version>
        <exclusions>
        <exclusion>
        <groupId>servletapi</groupId>
        <artifactId>servletapi</artifactId>
        </exclusion>
        </exclusions>
        </dependency>

        Show
        Wendy Smoak added a comment - Can the pom in the repository be fixed as well? http://www.ibiblio.org/maven2/commons-chain/commons-chain/1.0/commons-chain-1.0.pom At least the servlet and portlet sections could be fixed. I'm not so sure about changing the MyFaces dependency, since it involves a different version. Then again, it could be argued that switching from a beta to the official certified api .jar isn't a bad thing. For now, projects which depend on Chain 1.0, can work around the unwanted m2 transitive dependencies with exclusions. For example: <dependency> <groupId>myfaces</groupId> <artifactId>myfaces-api</artifactId> <version>1.1.0</version> <exclusions> <exclusion> <groupId>myfaces</groupId> <artifactId>myfaces-jsf-api</artifactId> </exclusion> </exclusions> </dependency> and <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> <exclusions> <exclusion> <groupId>servletapi</groupId> <artifactId>servletapi</artifactId> </exclusion> </exclusions> </dependency>

          People

          • Assignee:
            Unassigned
            Reporter:
            Wendy Smoak
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development