[
https://issues.apache.org/jira/browse/MPLUGIN-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17640867#comment-17640867
]
Konrad Windszus edited comment on MPLUGIN-385 at 11/29/22 5:46 PM:
-------------------------------------------------------------------
There is now a better documentation which artifacts should have provided scope
at
https://maven.apache.org/guides/mini/guide-maven-classloading.html#API_Classloader.
But Maven 4 OTOH introduced new artifacts with group id {{o.a.m}} which are
not exposed (e.g. {{plexus-utils}}). Therefore the warning seems too often lead
to false positives (e.g. MPLUGIN-446). I would suggest to rather go with an
include approach of artifacts which are part of the Maven3/4 API classloader.
Not sure how to come up with a backwards compatible way of configuring it,
given that 3.6.2 introduced an exclude approach exposed via plugin parameters
in MPLUGIN-386.
was (Author: kwin):
There is now a better documentation which artifacts should have provided scope
at
https://maven.apache.org/guides/mini/guide-maven-classloading.html#API_Classloader.
But Maven 4 OTOH introduced new artifacts with group id {{o.a.m}} which are
not exposed (e.g. {{plexus-utils}}). Therefore the warning seems too often lead
to false positives (e.g. MPLUGIN-446). I would suggest to rather go with an
include approach of artifacts which are part of the Maven3/4 API classloader.
Not sure how to come up with a backwards compatible way of configuring it,
given that 3.6.2 introduced an exclude approach exposed via plugin parameters.
> Clarify usage of scope "provided" for Maven artifacts with group id
> "org.apache.maven"
> --------------------------------------------------------------------------------------
>
> Key: MPLUGIN-385
> URL: https://issues.apache.org/jira/browse/MPLUGIN-385
> Project: Maven Plugin Tools
> Issue Type: Improvement
> Components: Plugin Plugin
> Affects Versions: 3.6.2
> Reporter: Konrad Windszus
> Priority: Major
>
> Since m-plugin-p 3.6.2 (MPLUGIN-370) all dependencies with group id
> {{org.apache.maven}} are supposed to be referenced with scope {{provided}}.
> But once turning dependency {{org.apache.maven:maven-archiver:3.5.1}} to
> scope provided my ITs based on
> {{org.apache.maven.shared:maven-verifier:1.7.2}} are starting to fail with
> NCDF errors
> {code}
> java.lang.NoClassDefFoundError:
> Lorg/apache/maven/archiver/MavenArchiveConfiguration;
> {code}
> Is that a bug in the classloader with maven-verifier? What if I want to use a
> newer version than shipped with Maven like "maven-archiver 3.5.1"?
> What about group ids starting with "org.apache.maven" like
> "org.apache.maven.shared"?
> You can reproduce with
> https://github.com/apache/jackrabbit-filevault-package-maven-plugin.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)