[
https://issues.apache.org/jira/browse/MENFORCER-510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Slawomir Jaranowski moved MNG-8236 to MENFORCER-510:
----------------------------------------------------
Component/s: (was: Core)
Key: MENFORCER-510 (was: MNG-8236)
Affects Version/s: (was: 3.9.8)
(was: 3.9.9)
Project: Maven Enforcer Plugin (was: Maven)
> Incorrect classpath substitution for plugin dependencies since 3.9.8
> --------------------------------------------------------------------
>
> Key: MENFORCER-510
> URL: https://issues.apache.org/jira/browse/MENFORCER-510
> Project: Maven Enforcer Plugin
> Issue Type: Bug
> Environment: Maven 3.9.9, macOS, Linux
> Reporter: Bas van Erp
> Priority: Major
> Labels: core, enforcer
> Attachments: reproduction.zip
>
>
> Apologies if this ticket is in the wrong place, but let me try to explain why
> I think this is a core issue.
> If this turns out to be a Maven Enforcer issue, I'll happily move this issue
> to [https://issues.apache.org/jira/projects/MENFORCER/]
> I find the issue very hard to explain, but basically when I build my project
> with {{org.apache.maven:maven-core:3.9.7 everything is fine, but when I
> switch to org.apache.maven:maven-core:3.9.8}} then I get errors such as:
> {code:java}
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-enforcer-plugin:3.5.0:enforce (enforce-custom)
> on project project-code: Execution enforce-custom of goal
> org.apache.maven.plugins:maven-enforcer-plugin:3.5.0:enforce failed: Failed
> to create enforcer rules with name: banModules or for class:
> org.apache.maven.plugins.enforcer.BanModules -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
> goal org.apache.maven.plugins:maven-enforcer-plugin:3.5.0:enforce
> (enforce-custom) on project project-code: Execution enforce-custom of goal
> org.apache.maven.plugins:maven-enforcer-plugin:3.5.0:enforce failed: Failed
> to create enforcer rules with name: banModules or for class:
> org.apache.maven.plugins.enforcer.BanModules
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> (MojoExecutor.java:333)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> (MojoExecutor.java:316)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:212)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:174)
> at org.apache.maven.lifecycle.internal.MojoExecutor.access$000
> (MojoExecutor.java:75)
> at org.apache.maven.lifecycle.internal.MojoExecutor$1.run
> (MojoExecutor.java:162)
> at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute
> (DefaultMojosExecutionStrategy.java:39)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:159)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:105)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:73)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:53)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:118)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
> at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:498)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:255)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:201)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:361)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:314)
> Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
> enforce-custom of goal
> org.apache.maven.plugins:maven-enforcer-plugin:3.5.0:enforce failed: Failed
> to create enforcer rules with name: banModules or for class:
> org.apache.maven.plugins.enforcer.BanModules
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> (DefaultBuildPluginManager.java:133)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> (MojoExecutor.java:328)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> (MojoExecutor.java:316)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:212)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:174)
> at org.apache.maven.lifecycle.internal.MojoExecutor.access$000
> (MojoExecutor.java:75)
> at org.apache.maven.lifecycle.internal.MojoExecutor$1.run
> (MojoExecutor.java:162)
> at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute
> (DefaultMojosExecutionStrategy.java:39)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:159)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:105)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:73)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:53)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:118)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
> at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:498)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:255)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:201)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:361)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:314)
> Caused by:
> org.apache.maven.plugins.enforcer.internal.EnforcerRuleManagerException:
> Failed to create enforcer rules with name: banModules or for class:
> org.apache.maven.plugins.enforcer.BanModules
> at
> org.apache.maven.plugins.enforcer.internal.EnforcerRuleManager.createRuleDesc
> (EnforcerRuleManager.java:162)
> at
> org.apache.maven.plugins.enforcer.internal.EnforcerRuleManager.createRules
> (EnforcerRuleManager.java:110)
> at org.apache.maven.plugins.enforcer.EnforceMojo.execute
> (EnforceMojo.java:213)
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> (DefaultBuildPluginManager.java:126)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> (MojoExecutor.java:328)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> (MojoExecutor.java:316)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:212)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:174)
> at org.apache.maven.lifecycle.internal.MojoExecutor.access$000
> (MojoExecutor.java:75)
> at org.apache.maven.lifecycle.internal.MojoExecutor$1.run
> (MojoExecutor.java:162)
> at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute
> (DefaultMojosExecutionStrategy.java:39)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:159)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:105)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:73)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:53)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:118)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
> at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:498)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:255)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:201)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:361)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:314)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.maven.plugins.enforcer.BanModules
> at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass
> (SelfFirstStrategy.java:42)
> at
> org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass
> (ClassRealm.java:225)
> at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass
> (ClassRealm.java:210)
> at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass
> (ClassRealm.java:205)
> at java.lang.Class.forName0 (Native Method)
> at java.lang.Class.forName (Class.java:264)
> at
> org.apache.maven.plugins.enforcer.internal.EnforcerRuleManager.createRuleDesc
> (EnforcerRuleManager.java:160)
> at
> org.apache.maven.plugins.enforcer.internal.EnforcerRuleManager.createRules
> (EnforcerRuleManager.java:110)
> at org.apache.maven.plugins.enforcer.EnforceMojo.execute
> (EnforceMojo.java:213)
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> (DefaultBuildPluginManager.java:126)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> (MojoExecutor.java:328)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> (MojoExecutor.java:316)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:212)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:174)
> at org.apache.maven.lifecycle.internal.MojoExecutor.access$000
> (MojoExecutor.java:75)
> at org.apache.maven.lifecycle.internal.MojoExecutor$1.run
> (MojoExecutor.java:162)
> at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute
> (DefaultMojosExecutionStrategy.java:39)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:159)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:105)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:73)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:53)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:118)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
> at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:498)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:255)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:201)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:361)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:314){code}
> I have looked through the Maven 3.9.8 release notes, but couldn't find a
> clear culprit.
> I assume that the problem is that Maven is trying to load:
> {code:java}
> org.apache.maven.plugins.enforcer.BanModules {code}
> When it _should_ be loading:
> {code:java}
> mega.corp.enforcer.BanModules {code}
> Enclosed you will find a reproduction mini-project.
> If you change the \{{maven-core }}version in the parent POM, you should be
> able to quite easily reproduce it. I'm running Maven 3.9.9 locally.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)