I have a situation as follows:

  - Multi-module project (~30 modules)

  - Certain test dependencies (e.g. groovy-all) needed by nearly all
    sub-modules are declared directly with test scope in the parent POM
    (not just dependencyManagement, but also dependency). I know this is
    considered to be bad practice but it saves a lot of redundant
    dependency duplication.

  - One new sub-module now actually also needs groovy-all, but with a
    compile scope. So my wish (although seemingly unsupported by Maven)
    is to override the default scope for this sub-module so as for the
    dependency to be actually available during runtime.

How can I do this or work around the need to duplicate my test
dependencies in 30 modules just so as to be able to define the scope for
the new module? AFAIK a POM can only inherit from one POM. But can I
somehow use an "included POM" in my 30 modules in order to be able to
centrally manage the test dependencies? Sorry if I am explaining this
wrong or using incorrect erms, but I am by no means a Maven pro.
Hopefully I was at least able to make my intent clear. I am looking for
good advice beyond lecturing about how I should really, really declare
everything 30 times in order to do it the Maven way. I am looking for
alternatives, am willing to learn and hoping to get constructive answers.

Thanks you all in advance
-- 
Alexander Kriegisch


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to