- Multi-modules projects: Usually developpers work concurrently on more then one project at a time. In fact, a project is usually splitted into several sub-projects for architectural reasons. Multi-modules projects avoid you the pain to have to rebuild each sub-project individually after every little modifications you make.
- Web projects: The most common type of modules people work with in a JEE project is a web module. Traditionally, a web application is composed of static and dynamic web pages, Java source code, specific configuration files, client-side scripts and of some resources (images, css).
- EJB 1&2 projects: Even if the EJB specifications 1.x and 2.x were the sources of much controversy, a lot of JEE projects are still using them heavily. As you will see in this lesson, Maven can help you greatly to deal with some of the inherent complexities of EJB modules.
- EJB 3 projects: EJB3 specification promises to bring much needed simplicity and lightness to the EJB world. Even if the final specification has still not been released, Maven supports PAR modules projects.
- Packaging everything together: Now that you have produced all the required modules, you still have to package them together in a valid JEE archive. This can be achieved by creating an EAR module project.
- Deploying your application: [Introducing cargo and specific containers plugins would fit very well here]