Skip to content

Organizing Maven projects

Guidelines

There are many types of Maven project relationships and many ways or organizing Maven projects. The purpose of this page is to explain some guidelines and setups that we have come to value. The main guidelines can be summarized as follows:

  • Lifecycle: Projects/modules with different release cycles should not share reactor (or trunk).

  • "_ One primary output per project_", from BBwM , chap.1.2.1, page 27, and likewise "One project per deployment unit" (Maven FAQ )

  • Common code: Place code shared by multiple projects in a separate project.

  • When in doubt, separate!

Detailed descriptions and examples