maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kenney Westerhof (JIRA)" <>
Subject [jira] Commented: (MNG-2771) Provide a means of loading custom substitute components instead of default Maven components
Date Sun, 11 Mar 2007 14:13:34 GMT


Kenney Westerhof commented on MNG-2771:

There are currently 3 ways this works in 2.1-SNAPSHOT.

The first way is to place extension jars in $M2_HOME/extensions/. The jars there,
and the component.xml's will override previous declarations.
It's also possible to just edit/create the file $M2_HOME/extensions/META-INF/plexus/components.xml,
and put jars in $M2_HOME/lib/.

The second mechanism involves the <extensions> tag in the pom. Components defined
in dependencies there will also override previous declarations.
The problem with this right now is that they override the components for the entire reactor,
while they should only override them for the duration of the build of that specific project.

The third mechanism involves adding <dependencies> to <plugin> declarations in
a pom. Components
defined there will override both components in the plugin, and in the core, but only when
they're looked
up within the plugin context, so their scope is properly confined.

More elaborate systems could ofcourse be deviced, but I think the current solutions provide
for everything
needed, once the 2nd approach is fixed. You'll have the 3 options above:
- maven global overrides
- per project overrides
- per plugin overrides.

> Provide a means of loading custom substitute components instead of default Maven components
> -------------------------------------------------------------------------------------------
>                 Key: MNG-2771
>                 URL:
>             Project: Maven 2
>          Issue Type: New Feature
>          Components: General
>    Affects Versions: 2.0.4
>            Reporter: John Casey
>         Assigned To: Kenney Westerhof
>             Fix For: 2.1-alpha-1
> At times, it is necessary to use different mechanisms for resolving artifacts, building
projects, etc. Since Maven is built on component-oriented technology, it should be possible
to substitute the component implementation used for these tasks. Yet this is currently impossible.
> We need a mechanism for specifying, resolving, loading, and using custom components during
the build process.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message