[ http://jira.codehaus.org/browse/MNG-2689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_98090 ]
Stephane Nicoll commented on MNG-2689: -------------------------------------- I think this could be generalized to any classified dependency. We have obfuscated builds with the "obfuscated" classifier. If we run a reactor build, it fails, if we disable ofuscation (i.e. we take the main artifacts) it works. > <type>ejb-client</type> dependency not working properly as reactor build > ------------------------------------------------------------------------ > > Key: MNG-2689 > URL: http://jira.codehaus.org/browse/MNG-2689 > Project: Maven 2 > Issue Type: Bug > Components: Dependencies, Plugins and Lifecycle, POM, Reactor and > workspace > Affects Versions: 2.0.4 > Reporter: Brian Topping > Attachments: it200x.tgz > > > I've attached an tarball in standard IT test format. :-) > If an artifact of <type>ejb-client</type> is built, it cannot be properly > used as a dependency by other builds in a reactor build without also having > improper access to the rest of the EJB libs. > The reason is somewhat disturbing, when the client project is built under > reactor, the compile plugin classpath includes the target/classes directory > of the EJB project. Take a look at it with -X: > {quote} > [INFO] > ---------------------------------------------------------------------------- > [INFO] Building client > [INFO] task-segment: [install] > [INFO] > ---------------------------------------------------------------------------- > [DEBUG] maven-jar-plugin: resolved to version 2.1 from repository central > [DEBUG] Retrieving parent-POM: org.apache.maven.plugins:maven-plugins::3 for > project: null:maven-jar-plugin:maven-plugin:2.1 from the repository. > [DEBUG] Retrieving parent-POM: org.apache.maven:maven-parent::4 for project: > org.apache.maven.plugins:maven-plugins:pom:3 from the repository. > [DEBUG] Retrieving parent-POM: org.apache:apache::3 for project: > org.apache.maven:maven-parent:pom:4 from the repository. > [DEBUG] Configuring mojo > 'org.apache.maven.plugins:maven-resources-plugin:2.2:resources' --> > [DEBUG] (f) filters = [] > [DEBUG] (f) outputDirectory = > /Users/briantopping/dev/it200x/client/target/classes > [DEBUG] (f) project = [EMAIL PROTECTED] > [DEBUG] (f) resources = [EMAIL PROTECTED] > [DEBUG] -- end configuration -- > [INFO] [resources:resources] > [INFO] Using default encoding to copy filtered resources. > [DEBUG] org.apache.maven.it:client:jar:1-SNAPSHOT (selected for null) > [DEBUG] org.apache.maven.it:ejb:ejb-client:client:1-SNAPSHOT:compile > (selected for compile) > [DEBUG] junit:junit:jar:3.8.1:test (selected for test) > [DEBUG] Skipping disabled repository central > [DEBUG] ejb: using locally installed snapshot > [DEBUG] Configuring mojo > 'org.apache.maven.plugins:maven-compiler-plugin:2.0.1:compile' --> > [DEBUG] (f) basedir = /Users/briantopping/dev/it200x/client > [DEBUG] (f) buildDirectory = /Users/briantopping/dev/it200x/client/target > [DEBUG] (f) classpathElements = > [/Users/briantopping/dev/it200x/client/target/classes, > /Users/briantopping/dev/it200x/ejb/target/classes] > [DEBUG] (f) compileSourceRoots = > [/Users/briantopping/dev/it200x/client/src/main/java] > [DEBUG] (f) compilerId = javac > [DEBUG] (f) debug = true > [DEBUG] (f) fork = false > [DEBUG] (f) optimize = false > [DEBUG] (f) outputDirectory = > /Users/briantopping/dev/it200x/client/target/classes > [DEBUG] (f) outputFileName = client-1-SNAPSHOT > [DEBUG] (f) projectArtifact = org.apache.maven.it:client:jar:1-SNAPSHOT > [DEBUG] (f) showDeprecation = false > [DEBUG] (f) showWarnings = false > [DEBUG] (f) staleMillis = 0 > [DEBUG] (f) verbose = false > [DEBUG] -- end configuration -- > [INFO] [compiler:compile] > [DEBUG] Using compiler 'javac'. > [DEBUG] Source directories: > [/Users/briantopping/dev/it200x/client/src/main/java] > [DEBUG] Classpath: [/Users/briantopping/dev/it200x/client/target/classes > /Users/briantopping/dev/it200x/ejb/target/classes] > [DEBUG] Output directory: /Users/briantopping/dev/it200x/client/target/classes > [DEBUG] Classpath: > [DEBUG] /Users/briantopping/dev/it200x/client/target/classes > *[DEBUG] /Users/briantopping/dev/it200x/ejb/target/classes* > [DEBUG] Source roots: > [DEBUG] /Users/briantopping/dev/it200x/client/src/main/java > Compiling 2 source files to > /Users/briantopping/dev/it200x/client/target/classes > {quote} > Note the boldfaced text. > Now let's try again, but inside the client directory of the attached IT test: > {quote} > [INFO] > ---------------------------------------------------------------------------- > [INFO] Building client > [INFO] task-segment: [clean, install] > [INFO] > ---------------------------------------------------------------------------- > [DEBUG] maven-clean-plugin: resolved to version 2.1 from repository central > [DEBUG] Retrieving parent-POM: > org.apache.maven.plugins:maven-plugin-parent::2.0 for project: > null:maven-clean-plugin:maven-plugin:2.1 from the repository. > [DEBUG] org.apache.maven.plugins:maven-clean-plugin:maven-plugin:2.1:runtime > (selected for runtime) > [DEBUG] Retrieving parent-POM: org.apache.maven:maven::2.0 for project: > org.apache.maven:maven-plugin-api:jar:2.0 from the repository. > [DEBUG] org.apache.maven:maven-plugin-api:jar:2.0:runtime (selected for > runtime) > [DEBUG] Retrieving parent-POM: > org.apache.maven.shared:shared-components-parent::1 for project: > null:file-management:jar:1.0 from the repository. > [DEBUG] org.apache.maven.shared:file-management:jar:1.0:runtime (selected > for runtime) > [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (selected for > runtime) > [DEBUG] Configuring mojo > 'org.apache.maven.plugins:maven-clean-plugin:2.1:clean' --> > [DEBUG] (f) directory = /Users/briantopping/dev/it200x/client/target > [DEBUG] (f) outputDirectory = > /Users/briantopping/dev/it200x/client/target/classes > [DEBUG] (f) testOutputDirectory = > /Users/briantopping/dev/it200x/client/target/test-classes > [DEBUG] -- end configuration -- > [INFO] [clean:clean] > [INFO] Deleting directory /Users/briantopping/dev/it200x/client/target > [DEBUG] Originally marked for delete: [classes, ] > [DEBUG] Marked for preserve (with followSymlinks == false): [] > [DEBUG] Symlinks marked for deletion (originally mismarked): [] > [DEBUG] Originally marked for delete: [classes, ] > [DEBUG] Marked for preserve (with followSymlinks == false): [] > [DEBUG] Symlinks marked for deletion (originally mismarked): [] > [DEBUG] Found deletable paths: [classes > ] > [DEBUG] Checking for symlink: > Parent file's canonical path: /Users/briantopping/dev/it200x/client/target > My canonical path: /Users/briantopping/dev/it200x/client/target/classes > [DEBUG] Checking for symlink: > Parent file's canonical path: /Users/briantopping/dev/it200x/client > My canonical path: /Users/briantopping/dev/it200x/client/target > [INFO] Deleting directory /Users/briantopping/dev/it200x/client/target/classes > [DEBUG] Found deletable paths: [] > [INFO] Deleting directory > /Users/briantopping/dev/it200x/client/target/test-classes > [DEBUG] Found deletable paths: [] > [DEBUG] maven-resources-plugin: resolved to version 2.2 from repository > central > [DEBUG] Retrieving parent-POM: org.apache.maven.plugins:maven-plugins::1 for > project: null:maven-resources-plugin:maven-plugin:2.2 from the repository. > [DEBUG] Retrieving parent-POM: org.apache.maven:maven-parent::1 for project: > org.apache.maven.plugins:maven-plugins:pom:1 from the repository. > [DEBUG] Retrieving parent-POM: org.apache:apache::1 for project: > org.apache.maven:maven-parent:pom:1 from the repository. > [DEBUG] maven-compiler-plugin: resolved to version 2.0.1 from repository > central > [DEBUG] Retrieving parent-POM: org.apache.maven.plugins:maven-plugins::1 for > project: null:maven-compiler-plugin:maven-plugin:2.0.1 from the repository. > [DEBUG] Retrieving parent-POM: org.apache.maven:maven-parent::1 for project: > org.apache.maven.plugins:maven-plugins:pom:1 from the repository. > [DEBUG] Retrieving parent-POM: org.apache:apache::1 for project: > org.apache.maven:maven-parent:pom:1 from the repository. > [DEBUG] maven-surefire-plugin: resolved to version 2.2 from repository central > [DEBUG] Retrieving parent-POM: org.apache.maven.plugins:maven-plugins::1 for > project: null:maven-surefire-plugin:maven-plugin:2.2 from the repository. > [DEBUG] Retrieving parent-POM: org.apache.maven:maven-parent::1 for project: > org.apache.maven.plugins:maven-plugins:pom:1 from the repository. > [DEBUG] Retrieving parent-POM: org.apache:apache::1 for project: > org.apache.maven:maven-parent:pom:1 from the repository. > [DEBUG] maven-jar-plugin: resolved to version 2.1 from repository central > [DEBUG] Retrieving parent-POM: org.apache.maven.plugins:maven-plugins::3 for > project: null:maven-jar-plugin:maven-plugin:2.1 from the repository. > [DEBUG] Retrieving parent-POM: org.apache.maven:maven-parent::4 for project: > org.apache.maven.plugins:maven-plugins:pom:3 from the repository. > [DEBUG] Retrieving parent-POM: org.apache:apache::3 for project: > org.apache.maven:maven-parent:pom:4 from the repository. > [DEBUG] maven-install-plugin: resolved to version 2.1 from repository central > [DEBUG] Retrieving parent-POM: > org.apache.maven.plugins:maven-plugin-parent::2.0 for project: > null:maven-install-plugin:maven-plugin:2.1 from the repository. > [DEBUG] > org.apache.maven.plugins:maven-resources-plugin:maven-plugin:2.2:runtime > (selected for runtime) > [DEBUG] Retrieving parent-POM: org.apache.maven:maven::2.0 for project: > org.apache.maven:maven-model:jar:2.0 from the repository. > [DEBUG] org.apache.maven:maven-model:jar:2.0:runtime (selected for runtime) > [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (selected for > runtime) > [DEBUG] Retrieving parent-POM: org.apache.maven:maven::2.0 for project: > null:maven-project:jar:2.0 from the repository. > [DEBUG] org.apache.maven:maven-project:jar:2.0:runtime (selected for > runtime) > [DEBUG] > org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-8:runtime > (selected for runtime) > [DEBUG] classworlds:classworlds:jar:1.1-alpha-2:runtime (selected for > runtime) > [DEBUG] junit:junit:jar:3.8.1:runtime (selected for runtime) > [DEBUG] Retrieving parent-POM: org.apache.maven:maven::2.0 for project: > org.apache.maven:maven-artifact:jar:2.0 from the repository. > [DEBUG] org.apache.maven:maven-artifact:jar:2.0:runtime (selected for > runtime) > [DEBUG] Retrieving parent-POM: org.apache.maven:maven::2.0 for project: > org.apache.maven:maven-artifact-manager:jar:2.0 from the repository. > [DEBUG] org.apache.maven:maven-artifact-manager:jar:2.0:runtime (selected > for runtime) > [DEBUG] Retrieving parent-POM: org.apache.maven:maven::2.0 for project: > org.apache.maven:maven-repository-metadata:jar:2.0 from the repository. > [DEBUG] org.apache.maven:maven-repository-metadata:jar:2.0:runtime > (selected for runtime) > [DEBUG] > org.apache.maven.wagon:wagon-provider-api:jar:1.0-alpha-5:runtime (selected > for runtime) > [DEBUG] Retrieving parent-POM: org.apache.maven:maven::2.0 for project: > null:maven-profile:jar:2.0 from the repository. > [DEBUG] org.apache.maven:maven-profile:jar:2.0:runtime (selected for > runtime) > [DEBUG] org.apache.maven:maven-plugin-api:jar:2.0:runtime (selected for > runtime) > [DEBUG] Configuring mojo > 'org.apache.maven.plugins:maven-resources-plugin:2.2:resources' --> > [DEBUG] (f) filters = [] > [DEBUG] (f) outputDirectory = > /Users/briantopping/dev/it200x/client/target/classes > [DEBUG] (f) project = [EMAIL PROTECTED] > [DEBUG] (f) resources = [EMAIL PROTECTED] > [DEBUG] -- end configuration -- > [INFO] [resources:resources] > [INFO] Using default encoding to copy filtered resources. > [DEBUG] org.apache.maven.it:client:jar:1-SNAPSHOT (selected for null) > [DEBUG] Skipping disabled repository central > [DEBUG] ejb: using locally installed snapshot > [DEBUG] Retrieving parent-POM: org.apache.maven.it:it200x::1-SNAPSHOT for > project: org.apache.maven.it:ejb:ejb:1-SNAPSHOT from the repository. > [DEBUG] Skipping disabled repository central > [DEBUG] it200x: using locally installed snapshot > [DEBUG] org.apache.maven.it:ejb:ejb-client:client:1-SNAPSHOT:compile > (selected for compile) > [DEBUG] junit:junit:jar:3.8.1:test (selected for test) > [DEBUG] ejb: using locally installed snapshot > [DEBUG] > org.apache.maven.plugins:maven-compiler-plugin:maven-plugin:2.0.1:runtime > (selected for runtime) > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus-compiler::1.5.2 for > project: null:plexus-compiler-api:jar:1.5.2 from the repository. > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus-components::1.1.5 > for project: null:plexus-compiler:pom:1.5.2 from the repository. > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus::1.0.5 for project: > org.codehaus.plexus:plexus-components:pom:1.1.5 from the repository. > [DEBUG] org.codehaus.plexus:plexus-compiler-api:jar:1.5.2:runtime (selected > for runtime) > [DEBUG] > org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-8:runtime > (selected for runtime) > [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (selected > for runtime) > [DEBUG] classworlds:classworlds:jar:1.1-alpha-2:runtime (selected for > runtime) > [DEBUG] junit:junit:jar:3.8.1:runtime (selected for runtime) > [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (selected for > runtime) > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus-compiler::1.5.2 for > project: null:plexus-compiler-manager:jar:1.5.2 from the repository. > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus-components::1.1.5 > for project: null:plexus-compiler:pom:1.5.2 from the repository. > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus::1.0.5 for project: > org.codehaus.plexus:plexus-components:pom:1.1.5 from the repository. > [DEBUG] org.codehaus.plexus:plexus-compiler-manager:jar:1.5.2:runtime > (selected for runtime) > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus-compilers::1.5.2 > for project: null:plexus-compiler-javac:jar:1.5.2 from the repository. > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus-compiler::1.5.2 for > project: org.codehaus.plexus:plexus-compilers:pom:1.5.2 from the repository. > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus-components::1.1.5 > for project: null:plexus-compiler:pom:1.5.2 from the repository. > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus::1.0.5 for project: > org.codehaus.plexus:plexus-components:pom:1.1.5 from the repository. > [DEBUG] org.codehaus.plexus:plexus-compiler-javac:jar:1.5.2:runtime > (selected for runtime) > [DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus::1.0.4 for project: > null:plexus-utils:jar:1.0.5 from the repository. > [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.5:runtime (removed - > nearer found: 1.0.4) > [DEBUG] org.apache.maven:maven-plugin-api:jar:2.0:runtime (selected for > runtime) > [DEBUG] org.apache.maven:maven-artifact:jar:2.0:runtime (selected for > runtime) > [DEBUG] Configuring mojo > 'org.apache.maven.plugins:maven-compiler-plugin:2.0.1:compile' --> > [DEBUG] (f) basedir = /Users/briantopping/dev/it200x/client > [DEBUG] (f) buildDirectory = /Users/briantopping/dev/it200x/client/target > [DEBUG] (f) classpathElements = > [/Users/briantopping/dev/it200x/client/target/classes, > /Users/briantopping/.m2/repository/org/apache/maven/it/ejb/1-SNAPSHOT/ejb-1-SNAPSHOT-client.jar] > [DEBUG] (f) compileSourceRoots = > [/Users/briantopping/dev/it200x/client/src/main/java] > [DEBUG] (f) compilerId = javac > [DEBUG] (f) debug = true > [DEBUG] (f) fork = false > [DEBUG] (f) optimize = false > [DEBUG] (f) outputDirectory = > /Users/briantopping/dev/it200x/client/target/classes > [DEBUG] (f) outputFileName = client-1-SNAPSHOT > [DEBUG] (f) projectArtifact = org.apache.maven.it:client:jar:1-SNAPSHOT > [DEBUG] (f) showDeprecation = false > [DEBUG] (f) showWarnings = false > [DEBUG] (f) staleMillis = 0 > [DEBUG] (f) verbose = false > [DEBUG] -- end configuration -- > [INFO] [compiler:compile] > [DEBUG] Using compiler 'javac'. > [DEBUG] Source directories: > [/Users/briantopping/dev/it200x/client/src/main/java] > [DEBUG] Classpath: [/Users/briantopping/dev/it200x/client/target/classes > > /Users/briantopping/.m2/repository/org/apache/maven/it/ejb/1-SNAPSHOT/ejb-1-SNAPSHOT-client.jar] > [DEBUG] Output directory: /Users/briantopping/dev/it200x/client/target/classes > [DEBUG] Classpath: > [DEBUG] /Users/briantopping/dev/it200x/client/target/classes > *[DEBUG] > /Users/briantopping/.m2/repository/org/apache/maven/it/ejb/1-SNAPSHOT/ejb-1-SNAPSHOT-client.jar* > [DEBUG] Source roots: > [DEBUG] /Users/briantopping/dev/it200x/client/src/main/java > {quote} -- 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