You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Michael Osipov (JIRA)" <ji...@apache.org> on 2016/12/18 00:23:59 UTC

[jira] [Closed] (MNG-5708) Maven dependency resolution inconsistent with multiple excludes

     [ https://issues.apache.org/jira/browse/MNG-5708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Osipov closed MNG-5708.
-------------------------------
    Resolution: Fixed

This issue has been resolved implicitly by the numerous dependency resolution improvements performed by [~schulte77].

Maven 3.3.9:
{noformat}
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
Maven home: D:\Entwicklung\Programme\apache-maven-3.3.9
Java version: 1.8.0_112, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_112\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building proj3 1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ proj3 ---
[INFO] Deleting D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ proj3 ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ proj3 ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ proj3 ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ proj3 ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ proj3 ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ proj3 ---
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\target\proj3-1-SNAPSHOT.jar
[INFO]
[INFO] --- maven-duplicate-finder-plugin:1.0.9:check (default) @ proj3 ---
[INFO] Checking compile classpath
[WARNING] Found duplicate and different classes in [log4j:log4j:1.2.7,org.slf4j:log4j-over-slf4j:1.7.7] :
[WARNING]   org.apache.log4j.Appender
[WARNING]   org.apache.log4j.AppenderSkeleton
[WARNING]   org.apache.log4j.BasicConfigurator
[WARNING]   org.apache.log4j.Category
[WARNING]   org.apache.log4j.ConsoleAppender
[WARNING]   org.apache.log4j.FileAppender
[WARNING]   org.apache.log4j.Layout
[WARNING]   org.apache.log4j.Level
[WARNING]   org.apache.log4j.LogManager
[WARNING]   org.apache.log4j.Logger
[WARNING]   org.apache.log4j.MDC
[WARNING]   org.apache.log4j.NDC
[WARNING]   org.apache.log4j.PatternLayout
[WARNING]   org.apache.log4j.Priority
[WARNING]   org.apache.log4j.PropertyConfigurator
[WARNING]   org.apache.log4j.RollingFileAppender
[WARNING]   org.apache.log4j.SimpleLayout
[WARNING]   org.apache.log4j.WriterAppender
[WARNING]   org.apache.log4j.helpers.LogLog
[WARNING]   org.apache.log4j.helpers.NullEnumeration
[WARNING]   org.apache.log4j.spi.Configurator
[WARNING]   org.apache.log4j.spi.ErrorHandler
[WARNING]   org.apache.log4j.spi.Filter
[WARNING]   org.apache.log4j.spi.HierarchyEventListener
[WARNING]   org.apache.log4j.spi.LoggerFactory
[WARNING]   org.apache.log4j.spi.LoggerRepository
[WARNING]   org.apache.log4j.spi.LoggingEvent
[WARNING]   org.apache.log4j.spi.OptionHandler
[WARNING]   org.apache.log4j.xml.DOMConfigurator
[INFO] Checking runtime classpath
[WARNING] Found duplicate and different classes in [log4j:log4j:1.2.7,org.slf4j:log4j-over-slf4j:1.7.7] :
[WARNING]   org.apache.log4j.Appender
[WARNING]   org.apache.log4j.AppenderSkeleton
[WARNING]   org.apache.log4j.BasicConfigurator
[WARNING]   org.apache.log4j.Category
[WARNING]   org.apache.log4j.ConsoleAppender
[WARNING]   org.apache.log4j.FileAppender
[WARNING]   org.apache.log4j.Layout
[WARNING]   org.apache.log4j.Level
[WARNING]   org.apache.log4j.LogManager
[WARNING]   org.apache.log4j.Logger
[WARNING]   org.apache.log4j.MDC
[WARNING]   org.apache.log4j.NDC
[WARNING]   org.apache.log4j.PatternLayout
[WARNING]   org.apache.log4j.Priority
[WARNING]   org.apache.log4j.PropertyConfigurator
[WARNING]   org.apache.log4j.RollingFileAppender
[WARNING]   org.apache.log4j.SimpleLayout
[WARNING]   org.apache.log4j.WriterAppender
[WARNING]   org.apache.log4j.helpers.LogLog
[WARNING]   org.apache.log4j.helpers.NullEnumeration
[WARNING]   org.apache.log4j.spi.Configurator
[WARNING]   org.apache.log4j.spi.ErrorHandler
[WARNING]   org.apache.log4j.spi.Filter
[WARNING]   org.apache.log4j.spi.HierarchyEventListener
[WARNING]   org.apache.log4j.spi.LoggerFactory
[WARNING]   org.apache.log4j.spi.LoggerRepository
[WARNING]   org.apache.log4j.spi.LoggingEvent
[WARNING]   org.apache.log4j.spi.OptionHandler
[WARNING]   org.apache.log4j.xml.DOMConfigurator
[INFO] Checking test classpath
[WARNING] Found duplicate and different classes in [log4j:log4j:1.2.7,org.slf4j:log4j-over-slf4j:1.7.7] :
[WARNING]   org.apache.log4j.Appender
[WARNING]   org.apache.log4j.AppenderSkeleton
[WARNING]   org.apache.log4j.BasicConfigurator
[WARNING]   org.apache.log4j.Category
[WARNING]   org.apache.log4j.ConsoleAppender
[WARNING]   org.apache.log4j.FileAppender
[WARNING]   org.apache.log4j.Layout
[WARNING]   org.apache.log4j.Level
[WARNING]   org.apache.log4j.LogManager
[WARNING]   org.apache.log4j.Logger
[WARNING]   org.apache.log4j.MDC
[WARNING]   org.apache.log4j.NDC
[WARNING]   org.apache.log4j.PatternLayout
[WARNING]   org.apache.log4j.Priority
[WARNING]   org.apache.log4j.PropertyConfigurator
[WARNING]   org.apache.log4j.RollingFileAppender
[WARNING]   org.apache.log4j.SimpleLayout
[WARNING]   org.apache.log4j.WriterAppender
[WARNING]   org.apache.log4j.helpers.LogLog
[WARNING]   org.apache.log4j.helpers.NullEnumeration
[WARNING]   org.apache.log4j.spi.Configurator
[WARNING]   org.apache.log4j.spi.ErrorHandler
[WARNING]   org.apache.log4j.spi.Filter
[WARNING]   org.apache.log4j.spi.HierarchyEventListener
[WARNING]   org.apache.log4j.spi.LoggerFactory
[WARNING]   org.apache.log4j.spi.LoggerRepository
[WARNING]   org.apache.log4j.spi.LoggingEvent
[WARNING]   org.apache.log4j.spi.OptionHandler
[WARNING]   org.apache.log4j.xml.DOMConfigurator
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ proj3 ---
[INFO] Installing D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\target\proj3-1-SNAPSHOT.jar to C:\Users\mosipov\.m2\repository\group\proj3\1-SNAPSHOT\proj3-1-SNAPSHOT.jar
[INFO] Installing D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\pom.xml to C:\Users\mosipov\.m2\repository\group\proj3\1-SNAPSHOT\proj3-1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.507 s
[INFO] Finished at: 2016-12-18T01:20:34+01:00
[INFO] Final Memory: 12M/241M
[INFO] -------------------------------------------------------------
{noformat}

{noformat}
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
Maven home: D:\Entwicklung\Programme\apache-maven-3.3.9
Java version: 1.8.0_112, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_112\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building proj3 1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ proj3 ---
[INFO] group:proj3:jar:1-SNAPSHOT
[INFO] \- group:module1:jar:1-SNAPSHOT:compile
[INFO]    +- group:proj1:jar:1-SNAPSHOT:compile
[INFO]    |  \- log4j:log4j:jar:1.2.7:compile
[INFO]    \- org.slf4j:log4j-over-slf4j:jar:1.7.7:compile
[INFO]       \- org.slf4j:slf4j-api:jar:1.7.7:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.757 s
[INFO] Finished at: 2016-12-18T01:21:34+01:00
[INFO] Final Memory: 12M/241M
[INFO] ------------------------------------------------------------------------
{noformat}

now Maven 3.4.0-SNAPSHOT:
{noformat}
Apache Maven 3.4.0-SNAPSHOT (8a1b6359f31178ce804018cfb524e72f1178028a; 2016-12-17T20:46:55+01:00)
Maven home: D:\Entwicklung\Programme\apache-maven-3.4.0-SNAPSHOT
Java version: 1.8.0_112, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_112\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building proj3 1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ proj3 ---
[INFO] Deleting D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\target
[INFO]
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ proj3 ---
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\src\main\resources
[INFO] skip non existing resourceDirectory D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\src\main\resources-filtered
[INFO]
[INFO] --- maven-compiler-plugin:3.6.0:compile (default-compile) @ proj3 ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:3.0.2:testResources (default-testResources) @ proj3 ---
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\src\test\resources
[INFO] skip non existing resourceDirectory D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\src\test\resources-filtered
[INFO]
[INFO] --- maven-compiler-plugin:3.6.0:testCompile (default-testCompile) @ proj3 ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ proj3 ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ proj3 ---
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\target\proj3-1-SNAPSHOT.jar
[INFO]
[INFO] --- maven-duplicate-finder-plugin:1.0.9:check (default) @ proj3 ---
[INFO] Checking compile classpath
[INFO] Checking runtime classpath
[INFO] Checking test classpath
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ proj3 ---
[INFO] Installing D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\target\proj3-1-SNAPSHOT.jar to C:\Users\mosipov\.m2\repository\group\proj3\1-SNAPSHOT\proj3-1-SNAPSHOT.jar
[INFO] Installing D:\Entwicklung\Projekte\dependency-bug-3.tar\proj3\pom.xml to C:\Users\mosipov\.m2\repository\group\proj3\1-SNAPSHOT\proj3-1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.853 s
[INFO] Finished at: 2016-12-18T01:22:14+01:00
[INFO] Final Memory: 12M/241M
[INFO] ------------------------------------------------------------------------
{noformat}

and

{noformat}
Apache Maven 3.4.0-SNAPSHOT (8a1b6359f31178ce804018cfb524e72f1178028a; 2016-12-17T20:46:55+01:00)
Maven home: D:\Entwicklung\Programme\apache-maven-3.4.0-SNAPSHOT
Java version: 1.8.0_112, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_112\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
[INFO] Scanning for projects...
[INFO] resolveFromProject:org.apache.maven.plugins
[INFO] selectVersion:org.apache.maven.plugins
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building proj3 1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] resolveFromProject:org.apache.maven.plugins
[INFO] selectVersion:org.apache.maven.plugins
[INFO]
[INFO] --- maven-dependency-plugin:3.0.0:tree (default-cli) @ proj3 ---
[INFO] group:proj3:jar:1-SNAPSHOT
[INFO] \- group:module1:jar:1-SNAPSHOT:compile
[INFO]    +- group:proj1:jar:1-SNAPSHOT:compile
[INFO]    \- org.slf4j:log4j-over-slf4j:jar:1.7.7:compile
[INFO]       \- org.slf4j:slf4j-api:jar:1.7.7:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.946 s
[INFO] Finished at: 2016-12-18T01:22:40+01:00
[INFO] Final Memory: 15M/304M
[INFO] ------------------------------------------------------------------------
{noformat}

> Maven dependency resolution inconsistent with multiple excludes
> ---------------------------------------------------------------
>
>                 Key: MNG-5708
>                 URL: https://issues.apache.org/jira/browse/MNG-5708
>             Project: Maven
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.2.3
>         Environment: Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T13:58:10-07:00)
> Maven home: /home/henning/.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
>            Assignee: Michael Osipov
>             Fix For: 3.4.0
>
>         Attachments: dependency-bug-2.tar.gz, dependency-bug-3.tar.gz, dependency-bug.tar.gz
>
>
> This is how to reproduce the problem:
> download and unpack the attached tarball. It contains three projects:
> proj1 depends on log4j and commons-lang3
> proj2 is a multi module project which uses proj1. But it uses slf4j, so for proj1 it has an exclusion in the dependency management section which excludes log4j
>   module1 depends on proj1 and log4j-over-slf4j
>   module2 depends on proj1
> proj3 is a project that depends on module1.
> enter each project one-by-one and do "mvn clean install". This works fine. So dependency exclusion etc. works. 
> Now, remove the comments from the exclude block in proj2/module2/pom.xml
> run "mvn clean install" in proj2.  Everything still builds fine in proj2. Same goes for "mvn clean install -pl :module2" (only build module2) and "mvn clean install -rf :module2" (resume from module2)
> now go to proj3. The build fails because there are duplicates on the classpath. Looking at the dependency tree:
> [INFO] group:proj3:jar:1-SNAPSHOT
> [INFO] \- group:module1:jar:1-SNAPSHOT:compile
> [INFO]    +- group:proj1:jar:1-SNAPSHOT:compile
> [INFO]    |  \- log4j:log4j:jar:1.2.7:compile
> [INFO]    \- org.slf4j:log4j-over-slf4j:jar:1.7.7:compile
> [INFO]       \- org.slf4j:slf4j-api:jar:1.7.7:compile
> log4j (which was excluded in the dependencyManagement section) has reappeared!
> This only happens if there are excludes in the depMgt section of a parent pom *and* excludes in the dependency itself in a child project *and* the dependency is referred from outside the multi module project. For an in-tree project (such as module2), everything is fine.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)