This picture shows how a pack may be structured. The pack depends on the generic code described earlier. Also this article provides a brief description for each module.
Parent Maven module which is used to build the entire pack. It has dependency on the generic code.
All the code which a pack contains may be stored in a single module. It is recommended not to break the pack into sub modules but keep directories structure as in the generic project with the addition of the pack name.
Web application module which assembles WAR file with all the resources. The WAR file then should be deployed into an application server.