Just as an example for why the plugin's need to be resolved the same way as projects. The following is the resolution result of the 'maven-resources-plugin' version 2.7 when resolved as a project:
org.apache.maven.plugins:maven-resources-plugin:jar:2.7: org.apache.maven:maven-plugin-api:jar:2.2.1:compile org.apache.maven:maven-project:jar:2.2.1:compile org.apache.maven:maven-profile:jar:2.2.1:compile org.apache.maven:maven-artifact-manager:jar:2.2.1:compile backport-util-concurrent:backport-util-concurrent:jar:3.1:compile org.apache.maven:maven-plugin-registry:jar:2.2.1:compile org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile org.apache.maven:maven-core:jar:2.2.1:compile org.apache.maven:maven-plugin-parameter-documenter:jar:2.2.1:compile org.slf4j:slf4j-jdk14:jar:1.5.6:runtime org.slf4j:slf4j-api:jar:1.5.6:runtime org.slf4j:jcl-over-slf4j:jar:1.5.6:runtime org.apache.maven.reporting:maven-reporting-api:jar:2.2.1:compile org.apache.maven.doxia:doxia-sink-api:jar:1.1:compile org.apache.maven.doxia:doxia-logging-api:jar:1.1:compile org.apache.maven:maven-repository-metadata:jar:2.2.1:compile org.apache.maven:maven-error-diagnostics:jar:2.2.1:compile commons-cli:commons-cli:jar:1.2:compile org.apache.maven:maven-plugin-descriptor:jar:2.2.1:compile org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4:compile *plexus:plexus-utils:jar:1.0.2:compile* classworlds:classworlds:jar:1.1:compile org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile org.sonatype.plexus:plexus-cipher:jar:1.4:compile org.apache.maven:maven-artifact:jar:2.2.1:compile org.apache.maven:maven-settings:jar:2.2.1:compile org.apache.maven:maven-model:jar:2.2.1:compile org.apache.maven:maven-monitor:jar:2.2.1:compile org.apache.maven.plugin-tools:maven-plugin-annotations:jar:3.2:provided *org.codehaus.plexus:plexus-utils:jar:3.0.15:compile* org.apache.maven.shared:maven-filtering:jar:1.2:compile org.apache.maven.shared:maven-shared-utils:jar:0.3:compile com.google.code.findbugs:jsr305:jar:2.0.1:compile org.sonatype.plexus:plexus-build-api:jar:0.0.4:compile org.codehaus.plexus:plexus-interpolation:jar:1.19:compile org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1:test junit:junit:jar:3.8.1:compile org.codehaus.plexus:plexus-archiver:jar:1.0-alpha-7:test commons-io:commons-io:jar:1.4:test It has duplicate classes on the classpath the conflict resolver does not detect due to different group ids in use. *plexus:plexus-utils:jar:1.0.2:compile* *org.codehaus.plexus:plexus-utils:jar:3.0.15:compile* So this really is a bug in the POM of the plugin. Fixing that POM means releasing a new version of the plugin. The old version really is broken. This plugin version is used in ITs and is the reason for some of those failures. I really would need to upgrade that plugin in the IT poms to a recent version which does not have this problem. Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.7:resources failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-resources-plugin:2.7:resources: java.lang.IncompatibleClassChangeError: Class org.codehaus.plexus.util.DirectoryScanner does not implement the requested interface org.codehaus.plexus.util.Scanner urls[9] = file:/home/schulte/Sources/apache.org/maven-integration-testing/repo/plexus/plexus-utils/1.0.2/plexus-utils-1.0.2.jar urls[12] = file:/home/schulte/Sources/apache.org/maven-integration-testing/repo/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar It just happens the old plexus-utils comes before the more recent plexus-utils (9 < 12) on the classpath. Am 12/17/16 um 21:56 schrieb Guillaume Boué: > Yes, I confirm that the build of the Maven plugins is OK when checking > out cc5af1306ff91d9bef68737c96c364a371a477d7. > > > Le 17/12/2016 à 16:43, Hervé BOUTEMY a écrit : >> if you avoid the 3 last commits flagged as MNG-6135, you get a fairly working >> Maven (even if 3 ITs are still failing) >> >> I don't understand the intend of MNG-6135, but I see the result: a mess >> >> Regards, >> >> Hervé >> >> Le samedi 17 décembre 2016, 15:47:34 CET Guillaume Boué a écrit : >>> Hi, >>> >>> With the latest Maven 3.4.0, there is an API incompability with a Plexus >>> Util version when running the build of any Maven plugins. For example, >>> with the maven-dependency-plugin: >>> >>> guillaume@guillaume-VirtualBox:~/workspace-maven/maven-plugins-aggregator/ma >>> ven-dependency-plugin$ mvn340 --version >>> Apache Maven 3.4.0-SNAPSHOT (14bff2c5c5a0729e39f7d0fc62ed733222c90a18; >>> 2016-12-17T14:47:33+01:00) >>> Maven home: /usr/share/apache-maven-3.4.0-SNAPSHOT >>> Java version: 1.8.0_111, vendor: Oracle Corporation >>> Java home: /usr/lib/jvm/java-8-openjdk-i386/jre >>> Default locale: en_US, platform encoding: UTF-8 >>> OS name: "linux", version: "4.4.0-47-generic", arch: "i386", family: "unix" >>> guillaume@guillaume-VirtualBox:~/workspace-maven/maven-plugins-aggregator/ma >>> ven-dependency-plugin$ mvn340 clean install -Prun-its >>> [INFO] Scanning for projects... >>> [INFO] >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Building Apache Maven Dependency Plugin 3.0.1-SNAPSHOT >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] >>> [INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ >>> maven-dependency-plugin --- >>> [INFO] Deleting >>> /home/guillaume/workspace-maven/maven-plugins-aggregator/maven-dependency-pl >>> ugin/target [INFO] >>> [INFO] --- maven-enforcer-plugin:1.4.1:enforce >>> (enforce-bytecode-version) @ maven-dependency-plugin --- >>> [INFO] >>> [INFO] --- maven-enforcer-plugin:1.4.1:enforce >>> (ban-known-bad-maven-versions) @ maven-dependency-plugin --- >>> [INFO] >>> [INFO] --- maven-enforcer-plugin:1.4.1:enforce (ensure-no-container-api) >>> @ maven-dependency-plugin --- >>> [INFO] >>> [INFO] --- apache-rat-plugin:0.11:check (rat-check) @ >>> maven-dependency-plugin --- >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] BUILD FAILURE >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Total time: 14.885 s >>> [INFO] Finished at: 2016-12-17T15:15:25+01:00 >>> [INFO] Final Memory: 64M/318M >>> [INFO] >>> ------------------------------------------------------------------------ >>> [ERROR] Failed to execute goal >>> org.apache.rat:apache-rat-plugin:0.11:check (rat-check) on project >>> maven-dependency-plugin: Execution rat-check of goal >>> org.apache.rat:apache-rat-plugin:0.11:check failed: An API >>> incompatibility was encountered while executing >>> org.apache.rat:apache-rat-plugin:0.11:check: >>> java.lang.IllegalAccessError: tried to access field >>> org.codehaus.plexus.util.DirectoryScanner.DEFAULTEXCLUDES from class >>> org.apache.rat.mp.AbstractRatMojo >>> [ERROR] ----------------------------------------------------- >>> [ERROR] realm = plugin>org.apache.rat:apache-rat-plugin:0.11 >>> [ERROR] strategy = >>> org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy >>> [ERROR] urls[0] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/rat/apache-rat-plugin/0.1 >>> 1/apache-rat-plugin-0.11.jar [ERROR] urls[1] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/maven/doxia/doxia-core/1. >>> 2/doxia-core-1.2.jar [ERROR] urls[2] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/maven/doxia/doxia-logging >>> -api/1.2/doxia-logging-api-1.2.jar [ERROR] urls[3] = >>> file:/C:/Users/Guillaume/.m2/repository/xerces/xercesImpl/2.9.1/xercesImpl-2 >>> .9.1.jar [ERROR] urls[4] = >>> file:/C:/Users/Guillaume/.m2/repository/xml-apis/xml-apis/1.3.04/xml-apis-1. >>> 3.04.jar [ERROR] urls[5] = >>> file:/C:/Users/Guillaume/.m2/repository/commons-lang/commons-lang/2.6/common >>> s-lang-2.6.jar [ERROR] urls[6] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/httpcomponents/httpclient >>> /4.0.2/httpclient-4.0.2.jar [ERROR] urls[7] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/httpcomponents/httpcore/4 >>> .0.1/httpcore-4.0.1.jar [ERROR] urls[8] = >>> file:/C:/Users/Guillaume/.m2/repository/commons-logging/commons-logging/1.1. >>> 1/commons-logging-1.1.1.jar [ERROR] urls[9] = >>> file:/C:/Users/Guillaume/.m2/repository/commons-codec/commons-codec/1.3/comm >>> ons-codec-1.3.jar [ERROR] urls[10] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/rat/apache-rat-core/0.11/ >>> apache-rat-core-0.11.jar [ERROR] urls[11] = >>> file:/C:/Users/Guillaume/.m2/repository/commons-collections/commons-collecti >>> ons/3.2.1/commons-collections-3.2.1.jar [ERROR] urls[12] = >>> file:/C:/Users/Guillaume/.m2/repository/commons-io/commons-io/2.2/commons-io >>> -2.2.jar [ERROR] urls[13] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/commons/commons-compress/ >>> 1.5/commons-compress-1.5.jar [ERROR] urls[14] = >>> file:/C:/Users/Guillaume/.m2/repository/org/tukaani/xz/1.2/xz-1.2.jar >>> [ERROR] urls[15] = >>> file:/C:/Users/Guillaume/.m2/repository/commons-cli/commons-cli/1.2/commons- >>> cli-1.2.jar [ERROR] urls[16] = >>> file:/C:/Users/Guillaume/.m2/repository/backport-util-concurrent/backport-ut >>> il-concurrent/3.1/backport-util-concurrent-3.1.jar [ERROR] urls[17] = >>> file:/C:/Users/Guillaume/.m2/repository/org/codehaus/plexus/plexus-interpola >>> tion/1.11/plexus-interpolation-1.11.jar [ERROR] urls[18] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/maven/doxia/doxia-decorat >>> ion-model/1.2/doxia-decoration-model-1.2.jar [ERROR] urls[19] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/maven/doxia/doxia-sink-ap >>> i/1.2/doxia-sink-api-1.2.jar [ERROR] urls[20] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/maven/doxia/doxia-site-re >>> nderer/1.2/doxia-site-renderer-1.2.jar [ERROR] urls[21] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/maven/doxia/doxia-module- >>> xhtml/1.2/doxia-module-xhtml-1.2.jar [ERROR] urls[22] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/maven/doxia/doxia-module- >>> fml/1.2/doxia-module-fml-1.2.jar [ERROR] urls[23] = >>> file:/C:/Users/Guillaume/.m2/repository/org/codehaus/plexus/plexus-i18n/1.0- >>> beta-7/plexus-i18n-1.0-beta-7.jar [ERROR] urls[24] = >>> file:/C:/Users/Guillaume/.m2/repository/org/codehaus/plexus/plexus-velocity/ >>> 1.1.7/plexus-velocity-1.1.7.jar [ERROR] urls[25] = >>> file:/C:/Users/Guillaume/.m2/repository/velocity/velocity/1.4/velocity-1.4.j >>> ar [ERROR] urls[26] = >>> file:/C:/Users/Guillaume/.m2/repository/velocity/velocity-dep/1.4/velocity-d >>> ep-1.4.jar [ERROR] urls[27] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/velocity/velocity/1.5/vel >>> ocity-1.5.jar [ERROR] urls[28] = >>> file:/C:/Users/Guillaume/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar >>> [ERROR] urls[29] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/maven/reporting/maven-rep >>> orting-api/3.0/maven-reporting-api-3.0.jar [ERROR] urls[30] = >>> file:/C:/Users/Guillaume/.m2/repository/org/apache/maven/shared/maven-plugin >>> -testing-harness/1.1/maven-plugin-testing-harness-1.1.jar [ERROR] urls[31] = >>> file:/C:/Users/Guillaume/.m2/repository/org/codehaus/plexus/plexus-interacti >>> vity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar [ERROR] >>> urls[32] = >>> file:/C:/Users/Guillaume/.m2/repository/plexus/plexus-utils/1.0.2/plexus-uti >>> ls-1.0.2.jar [ERROR] urls[33] = >>> file:/C:/Users/Guillaume/.m2/repository/org/codehaus/plexus/plexus-archiver/ >>> 1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar [ERROR] urls[34] = >>> file:/C:/Users/Guillaume/.m2/repository/org/codehaus/plexus/plexus-utils/3.0 >>> .8/plexus-utils-3.0.8.jar >>> >>> >>> It seems that forcing the version of the Rat Plugin to 0.12 instead of >>> 0.11 fixes the issue (it is inherited from org.apache:apache:18). But it >>> leads further down to the same API incompability in other Maven plugins, >>> like the maven-invoker-plugin:2.0.0, for which it is the latest version >>> (I didn't try 3.0.0-SNAPSHOT). >>> >>> This seems to be due to an upgrade of Plexus Utils to a version that >>> isn't backwards-compatible. The inconvenience is that all of this is >>> happening at run-time, so it is very hard to detect what other >>> components are hit. Can someone take a look? Maybe this upgrade needs to >>> be reverted in the mean time? >>> >>> Thanks, >>> Guillaume >>> >>> --- >>> L'absence de virus dans ce courrier électronique a été vérifiée par le >>> logiciel antivirus Avast. https://www.avast.com/antivirus >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >>> For additional commands, e-mail: dev-h...@maven.apache.org >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >> For additional commands, e-mail: dev-h...@maven.apache.org >> > > > --- > L'absence de virus dans ce courrier électronique a été vérifiée par le > logiciel antivirus Avast. > https://www.avast.com/antivirus > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org