Thanks, great feedback! CC to dev@
- Ben On 2 April 2026 15:08:37 CEST, Olivier Bourgain <[email protected]> wrote: >Hello, > >After meeting Hervé at an event, I tried using Maven 4 on $COMPANY's >projects. >I have a script to build about 140 projects, including libraries and >applications and two Maven plugins. >I encountered one bug, and I think I can make a few suggestions to improve >the UX. >The mail is quite long and about several topics, I can break it to >different topics if you prefer. > >1- the Bug >Summary: can't combine ! and ? for profiles. > >Related to https://issues.apache.org/jira/browse/MNG-7051 > >Detailed description: >My build script sets a bunch of profiles and applies them blindly to all >projects. >The profiles have various purposes, like building a front app and embed it >in an artifact, run code gen plugins etc. >With Maven 3, for projects that don't have this profile, I just get a >warning. Maven 4 is more strict and fails. I can mark the profile as >optional with -P?xxx and that's fine. >The issue arises with profiles that are activeByDefault. I can not combine >? and ! to ask Maven 4 to disable the profile if it exists, and ignore it >if it doesn't exist. > >2- UX improvements >a- When a profile doesn't exist, I get the following error: > >[ERROR] The requested profiles [foo] could not be activated or deactivated >because they do not exist. -> [Help 1] >[ERROR] >[ERROR] To see the full stack trace of the errors, re-run Maven with the >'-e' switch >[ERROR] Re-run Maven using the '-X' switch to enable verbose output >[ERROR] >[ERROR] For more information about the errors and possible solutions, >please read the following articles: >[ERROR] [Help 1] >http://cwiki.apache.org/confluence/display/MAVEN/MissingProfilesException > >- the link is dead >- the message could be improved to make the existence of '?' more >discoverable. >e.g: > >[ERROR] The requested profiles [foo] could not be activated or deactivated >because they do not exist. If this is expected, mark the profile as >optional with '?' > > >b- the following message is not actionable > >[INFO] Artifact com.sun.activation:all:pom:1.2.2 is present in the local >repository, but cached from a remote repository ID that is unavailable in >current build context, verifying that is downloadable from [central ( >https://repo.maven.apache.org/maven2, default, releases)] > >Maybe more information about how this situation can arise, and the issue it >causes. I have no precise suggestion here. > > >c- this should be DEBUG >I get what it is about, but as I user this is not a useful information >about my build: > >[INFO] Loaded 22245 auto-discovered prefixes for remote repository central >(prefixes-central.txt) > >d- Missing an explanation of the why >Could be inline if short enough or a link to doc > >[WARNING] Unable to find the root directory. Create a .mvn directory in the >root directory or add the root="true" attribute on the root project's model >to identify it. > >e- error reporting contains a lot of duplicate information between root and >modules. Maybe they can be grouped by category. >E.g. >[WARNING] 3 problems were encountered while building the effective model >for 'com.acme:the-module:jar:latest-SNAPSHOT' (use -e to see details) >[WARNING] Ignored POM import for: >commons-logging:commons-logging:jar:1.3.5@compile as already imported >commons-logging:commons-logging:jar:99-empty@compile. Add the conflicting >managed dependency directly to the dependencyManagement section of the POM. >[WARNING] Ignored POM import for: >org.assertj:assertj-core:jar:3.27.6@compile as already imported >org.assertj:assertj-core:jar:3.27.7@compile. Add the conflicting managed >dependency directly to the dependencyManagement section of the POM. >[WARNING] Ignored POM import for: >org.eclipse.angus:jakarta.mail:jar:2.0.3@compile as already imported >org.eclipse.angus:jakarta.mail:jar:2.0.5@compile. Add the conflicting >managed dependency directly to the dependencyManagement section of the POM. >[WARNING] >[WARNING] 3 problems were encountered while building the effective model >for 'com.acme:the-root:pom:latest-SNAPSHOT' (use -e to see details) >[WARNING] Ignored POM import for: >commons-logging:commons-logging:jar:1.3.5@compile as already imported >commons-logging:commons-logging:jar:99-empty@compile. Add the conflicting >managed dependency directly to the dependencyManagement section of the POM. >[WARNING] Ignored POM import for: >org.assertj:assertj-core:jar:3.27.6@compile as already imported >org.assertj:assertj-core:jar:3.27.7@compile. Add the conflicting managed >dependency directly to the dependencyManagement section of the POM. >[WARNING] Ignored POM import for: >org.eclipse.angus:jakarta.mail:jar:2.0.3@compile as already imported >org.eclipse.angus:jakarta.mail:jar:2.0.5@compile. Add the conflicting >managed dependency directly to the dependencyManagement section of the POM. >[WARNING] >[WARNING] Total model problems reported: 6 > >Deduplication could help readability, in particular as in my case the >problem in 'the-module' are inherited from 'the-root' and should be fixed >there. >E.g. we could have something like >[WARNING] 3 problems were encountered while building the effective model >for 'com.acme:the-root:pom:latest-SNAPSHOT' (use -e to see details) >[WARNING] Also impacts: ['com.acme:the-module:jar:latest-SNAPSHOT'] >[WARNING] Ignored POM import for: >commons-logging:commons-logging:jar:1.3.5@compile as already imported >commons-logging:commons-logging:jar:99-empty@compile. Add the conflicting >managed dependency directly to the dependencyManagement section of the POM. >[WARNING] Ignored POM import for: >org.assertj:assertj-core:jar:3.27.6@compile as already imported >org.assertj:assertj-core:jar:3.27.7@compile. Add the conflicting managed >dependency directly to the dependencyManagement section of the POM. >[WARNING] Ignored POM import for: >org.eclipse.angus:jakarta.mail:jar:2.0.3@compile as already imported >org.eclipse.angus:jakarta.mail:jar:2.0.5@compile. Add the conflicting >managed dependency directly to the dependencyManagement section of the POM. >[WARNING] >[WARNING] Total model problems reported: 3 > >Thanks. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
