Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.6
-
Fix Version/s: 3.0-alpha-3
-
Component/s: Class Loading, Plugins and Lifecycle
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
An excerpt from a plugin's dependency tree
[INFO] org.apache.maven.plugins:maven-resources-plugin:maven-plugin:2.2 [INFO] +- org.apache.maven:maven-plugin-api:jar:2.0:compile [INFO] +- org.apache.maven:maven-project:jar:2.0:compile [INFO] | +- org.codehaus.plexus:plexus-utils:jar:1.0.4:compile
Note that the plugin has an indirect dependency on plexus-utils:1.0.4 via maven-project.
Maven curently filters out core artifacts and their transitive dependencies from the plugin realm. Given the above example, this also removes plexus-utils from the plugin artifacts. Maven 2.x injects plexus-utils:1.1 instead, Maven 3.x injects the plexus-utils from its distro. In both cases, the plugin ends up with a different version of plexus-utils than it was compiled/tested with, giving rise to linkage errors or wrong plugin behavior.
The issue is theoretically not limited to plexus-utils but it's the most prominent example.
Issue Links
- is related to
-
MNG-4276
Plugins with indirect dependency on plexus-utils are stuck with plexus-utils:1.1
-
Regarding the effect on the plugin realm, this issue is a close relative of
MNG-4276. The difference is thatMNG-4276is limited to plexus-utils and independent from the plugin artifact that transitively provides plexus-utils. In contrast, this issue is about all transitive dependencies of core artifacts.