It all starts with a project model

The project model describes your project. Specifically it defines

The reactor of modules that will be built when building your project

Note: reactor is just the name that Maven has given to the list of modules that are being built

The packaging of each module
The dependencies of each module
Any additional plugins that are needed to build each module

Each module's packaging has an associated lifecycle

The lifecycle defines the default plugins that are used to build a specific packaging.

The list of modules in the reactor is sorted in order to ensure that any dependencies that will be created by the reactor will be built before they are needed by other modules in the reactor

The build plan is then populated for each module using the lifecycle and the plugin information from the model


Maven then starts executing the build plan and building your project, downloading dependencies that are not produced by the reactor.


  • No labels