Multi-modules projects
Imagine you are working on a project based based upon a traditional 3 layers architecture, where the layers are named presentation, business logic, integration. Of course, you want each layer to be independant of all the other layers and so you want to produce one artifact for each one. Following the Maven norm, you will need to have one project for each layer. Hence, your setup should look like this :
So to compile your presentation project, you will first need to compile the business logic project. But wait, the business logic project upon the integration project so it should be compiled first. Ok, let us recapitulate, so to compile your presentation project you will need to type the followings command (we assumethe projects have been put in a common root directory):
/root_directory$/ cd integration
/root_directory/integration$ mvn compile
/root_directory/integration$ cd ..
/root_directory$/ cd businesslogic
/root_directory/businesslogic$ mvn compile
/root_directory/businesslogic$ cd ..
/root_directory$/ cd presentation
/root_directory/presentation$ mvn compile
