...
For all but the most trivial applications, multi-contribution deployment is the recommended approach as the benefits of modularity far outweigh added complexity. This model aligns well with Maven (and other build systems) multi-module approach to application development. In order to make multi-contribution deployment easier, we have also developed a system of application deployment that relies on automated assembly of custom runtime images. For details, see Runtime Assembly.