Uploaded image for project: 'Maven Project Info Reports Plugin'
  1. Maven Project Info Reports Plugin
  2. MPIR-188

Maven constructs wrong classpath element

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 2.1
    • None
    • dependencies
    • None

    Description

      We run Maven 2 builds from Cruise Control; the projects each build with the same targets:

      clean jar:test-jar site-deploy deploy

      Unfortunately, this causes the unit tests to run twice, once for site-deploy (surefire reports) and once for deploy.
      Under 2.0.9 this was not a problem, but we recently switched to 2.2.1 and some tests were failing
      because the test classpath constructed for the first set of test runs differs from the classpath for the second.

      In the pom file, there is a dependency from the current project to both the normal jar and the test jar of
      another project:

      <dependency>
      <groupId>com.sas.other</groupId>
      <artifactId>sas.other</artifactId>
      <version>1.0-SNAPSHOT</version>
      <type>test-jar</type>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>com.sas.other</groupId>
      <artifactId>sas.other</artifactId>
      <version>1.0-SNAPSHOT</version>
      </dependency>

      The first test run contains

      [DEBUG] /u/acladmin/.m2/repository/com/sas/other/sas.other/1.0-SNAPSHOT/sas.other-1.0-SNAPSHOT-tests.jar
      ...
      [DEBUG] /u/acladmin/.m2/repository/com/sas/other/sas.other/1.0-SNAPSHOT/sas.other-1.0-SNAPSHOT.jar

      However, when we build with Maven 2.2.1, the classpath of the second test run is different:

      [DEBUG] /u/acladmin/.m2/repository/com/sas/other/sas.other/1.0-SNAPSHOT/sas.other-1.0-SNAPSHOT.jar
      ...
      [DEBUG] /u/acladmin/.m2/repository/com/sas/other/sas.other/1.0-SNAPSHOT/sas.other-1.0-SNAPSHOT.jar

      Because the classpath is missing a jar, the tests fail, and hence the entire build fails.

      If we run the targets separately

      mvn clean deploy
      mvn site-deploy

      then maven only runs the tests once per run, with the correct classpath, so the test and the entire build passes.

      This looks like a regression between 2.0.9 and 2.2.1. Sorry, we did not install/test other intermediate releases.

      Attachments

        1. MNG-4613.tar
          650 kB
          David Biesack
        2. MPIR-188.tar
          240 kB
          David Biesack

        Issue Links

          Activity

            People

              bentmann Benjamin Bentmann
              djb David Biesack
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: