You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "David Biesack (JIRA)" <ji...@codehaus.org> on 2010/03/29 22:15:22 UTC

[jira] Issue Comment Edited: (MNG-4613) Maven constructs wrong classpath element

    [ http://jira.codehaus.org/browse/MNG-4613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=215978#action_215978 ] 

David Biesack edited comment on MNG-4613 at 3/29/10 3:14 PM:
-------------------------------------------------------------

This tar file contains two projects a and b with maven poms.
(Edit the poms to set the distribution info before running maven).

build project a with 

  mvn jar:test-jar site-deploy deploy 

then switch to project b and build it:

  mvn jar:test-jar site-deploy deploy 

this fails due to the wrong classpath, see b/mvn-2.2.1.log :

[DEBUG] Output directory: U:\dev\mvnbug\b\target\test-classes
[DEBUG] Classpath:
[DEBUG]  U:\dev\mvnbug\b\target\test-classes
[DEBUG]  U:\dev\mvnbug\b\target\classes
[DEBUG]  C:\Documents and Settings\sasdjb\.m2\repository\mypackage\a\0.1-SNAPSHOT\a-0.1-SNAPSHOT.jar
[DEBUG]  C:\Documents and Settings\sasdjb\.m2\repository\mypackage\a\0.1-SNAPSHOT\a-0.1-SNAPSHOT.jar

If you build site-deploy and deploy in two parts, each works:

  mvn site-deploy
  mvn jar:test-jar deploy

 
  

      was (Author: djb):
    This tar file contains two projects a and b with maven poms.
(Edit the poms to set the distribution info before running maven).

build project a with 

  mvn jar:test-jar site-deploy deploy 

then switch to project b and build it:

  mvn jar:test-jar site-deploy deploy 

this fails, see b/mvn-2.2.1.log due to the wrong classpath:

[DEBUG] Output directory: U:\dev\mvnbug\b\target\test-classes
[DEBUG] Classpath:
[DEBUG]  U:\dev\mvnbug\b\target\test-classes
[DEBUG]  U:\dev\mvnbug\b\target\classes
[DEBUG]  C:\Documents and Settings\sasdjb\.m2\repository\mypackage\a\0.1-SNAPSHOT\a-0.1-SNAPSHOT.jar
[DEBUG]  C:\Documents and Settings\sasdjb\.m2\repository\mypackage\a\0.1-SNAPSHOT\a-0.1-SNAPSHOT.jar

If you build site-deploy and deploy in two parts, each works:

  mvn site-deploy
  mvn jar:test-jar deploy

 
  
  
> Maven constructs wrong classpath element
> ----------------------------------------
>
>                 Key: MNG-4613
>                 URL: http://jira.codehaus.org/browse/MNG-4613
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.2.1
>            Reporter: David Biesack
>         Attachments: MNG-4613.tar
>
>
> 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.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira