Description of Issue:
Our overall project has lots of maven sub-projects (in the area of
300+). We have multi-level directory structures like:
_ xxxWe would like to share the dependencies definition (more specifically
the version of dependencies) between projects. Imagine: when we move
from log4j 1.2.6 to 1.2.8 we need to change everywhere and invariably it
is changed only in some projects and not in others.
S1/ use the <extend> tag and factorize dependencies. However this is not
possible (because there are no common dependencies and that would mean
several levels of <extend> which is currently not supported by Maven but
moreover it doesn't help as p1 and p2 may both need to use say dbunit
but not p3, p4, etc.
S2/ use properties put in build.properties such as log4j.jar.version =
1.2.6 and then in project.xml use
ATM we are using solution S2 as it is the only one available.
However, I don't find an elegant solution. Basically it means Maven is
not supporting this use case and we're finding a way around. I do think
there's a need to be able to share dependencies between project in a not
Wouldn't it be possible to support in maven either a global
dependencies.xml file or the ability to add dependency *definitions*
(i.e. not used). For example:
And then in your project.xml you could write:
or something similar.
That would allow sharing dependency informations easily between
I guess the need doesn't seem obvious until you get to manage 300+
sub-projects all part of a global project.
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org