[
https://jira.codehaus.org/browse/MNG-5722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=356013#comment-356013
]
Henning Schmiedehausen commented on MNG-5722:
---------------------------------------------
at this point I suspect that this has to do with internal dependency resolution
caching. That would also explain why it is order dependent.
> maven splills exclude rules from one dependency to another
> ----------------------------------------------------------
>
> Key: MNG-5722
> URL: https://jira.codehaus.org/browse/MNG-5722
> Project: Maven
> Issue Type: Bug
> Components: Dependencies
> Affects Versions: 3.2.3
> Environment: mvn --version
> Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4;
> 2014-08-11T13:58:10-07:00)
> Maven home: /home/hschmiedehausen/.apache-maven
> Java version: 1.7.0_67, vendor: Oracle Corporation
> Java home: /usr/lib/jvm/java-1.7.0-sun-1.7.0.67/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "3.16.6-200.fc20.x86_64", arch: "amd64", family:
> "unix"
> Reporter: Henning Schmiedehausen
> Attachments: exclude-dependency-bug.tar.gz,
> exclude-dependency-bug.tar.gz
>
>
> unpack the attached archive (note HAUS-2405 for possible problems here, the
> file might be double-compressed). It contains four projects: projA - projD
> for each project run "mvn clean install". All builds succeed
> However, the resulting project D includes
> projB -> jcl-over-slf4j
> projC-component1 -> projC-component2 -> httpclient, which includes commons
> logging
> So the resulting project *should* fail with duplicate classes. However, the
> build succeeds.
> To make the build fail:
> - remove the dependency on projB from projD and rebuild.
> INFO] --- maven-duplicate-finder-plugin:1.0.9:check (default) @ projD ---
> [INFO] Checking compile classpath
> [WARNING] Found duplicate and different classes in
> [commons-logging:commons-logging:1.1.3,org.slf4j:jcl-over-slf4j:1.7.7] :
> [WARNING] org.apache.commons.logging.Log
> [WARNING] org.apache.commons.logging.LogConfigurationException
> [WARNING] org.apache.commons.logging.LogFactory
> [WARNING] org.apache.commons.logging.impl.NoOpLog
> [WARNING] org.apache.commons.logging.impl.SimpleLog
> the separate dependency trees:
> projB:
> [INFO] group:projB:jar:1-SNAPSHOT
> [INFO] \- group:projA:jar:1-SNAPSHOT:compile
> [INFO] +- commons-lang:commons-lang:jar:2.6:compile
> [INFO] \- org.apache.httpcomponents:httpclient:jar:4.3.6:compile
> [INFO] +- org.apache.httpcomponents:httpcore:jar:4.3.3:compile
> [INFO] \- commons-codec:commons-codec:jar:1.6:compile
> projC-component1
> [INFO] group:projC-component1:jar:1-SNAPSHOT
> [INFO] \- group:projC-component2:jar:1-SNAPSHOT:compile
> [INFO] \- org.apache.httpcomponents:httpclient:jar:4.3.6:compile
> [INFO] +- org.apache.httpcomponents:httpcore:jar:4.3.3:compile
> [INFO] +- commons-logging:commons-logging:jar:1.1.3:compile
> [INFO] \- commons-codec:commons-codec:jar:1.6:compile
> projC-component1 *should* include commons-logging which in turn should clash
> with jcl-over-slf4j in projD (proojD depends on projB, projC-component1 and
> jcl-over-slf4j). However, the presence of projB excludes commons-logging from
> the dependencies in projC-component1.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)