Include transitive "implementation" dependencies inside war


I have a multi-project build, with several subprojects that depends on each other using an “implementation” dependencies, as transitive dependencies are not needed when building a single sub-project.

Given this scenario, I have a problem creating a war with these sub-project, because the war plugin is not pulling the transitive dependencies.

As a summary:

  • :subproject1
  • :subproject2 → depends on :subproject1 and 3rd party lib via “implementation”
  • :subproject3 → depends on :subproject2 and it doesn’t need to know about the 3rd party dep or :subproject1 to build or run the tests
  • :warProject → depends on :subproject2 and :subproject3, but the final war is missing the 3rd party dep and :subproject1

Maybe I am missing something, but do you know how to force the war to have all dependencies, also the transitive ones, even if they are not needed by the single subproject to build them?


It would help if you post your build files with the dependency blocks.

Never mind, I can’t reproduce the problem after creating a small test project, so there should be something different going on on my build scripts. I should have done earlier without wasting your time :frowning:
Thanks anyway!