Index: maven-project/src/main/java/org/apache/maven/project/MavenProject.java =================================================================== --- maven-project/src/main/java/org/apache/maven/project/MavenProject.java (revision 652231) +++ maven-project/src/main/java/org/apache/maven/project/MavenProject.java (working copy) @@ -1669,11 +1669,12 @@ MavenProject ref = (MavenProject) getProjectReferences().get( refId ); if ( ref != null && ref.getArtifact() != null ) { + Artifact refArtifact = ref.getArtifact(); // TODO: if not matching, we should get the correct artifact from that project (attached) - if ( ref.getArtifact().getDependencyConflictId().equals( pluginArtifact.getDependencyConflictId() ) ) + if ( refArtifact.getDependencyConflictId().equals( pluginArtifact.getDependencyConflictId() ) ) { // if the project artifact doesn't exist, don't use it. We haven't built that far. - if ( ref.getArtifact().getFile() != null && ref.getArtifact().getFile().exists() ) + if ( refArtifact.getFile() != null && refArtifact.getFile().exists() ) { pluginArtifact = new ActiveProjectArtifact( ref, pluginArtifact ); return pluginArtifact; @@ -1687,6 +1688,16 @@ } } + if (pluginArtifact.getScope().equals(Artifact.SCOPE_TEST) && + pluginArtifact.getType().equals("test-jar") && + pluginArtifact.getGroupId().equals(refArtifact.getGroupId()) && + pluginArtifact.getArtifactId().equals(refArtifact.getArtifactId())) { + + pluginArtifact = new ActiveProjectArtifact( ref, pluginArtifact ); + pluginArtifact.setFile(new File(ref.getModelBuild().getTestOutputDirectory())); + return pluginArtifact; + } + Iterator itr = ref.getAttachedArtifacts().iterator(); while(itr.hasNext()) { Artifact attached = (Artifact) itr.next();