Maven fail strategies
Maven allows to customise how it handles failures when it executes a goal (ie: compiling code, executing tests, etc). This in particularly important on multi module projects where the result of the goal in a module could affect the desired behaviour on dependant ones.
The default strategy is fail fast (
--fail-fast: Stop at first failure in reactorized builds), maven stops execution at the first error.
Then comes fail at end (
--fail-at-end: Only fail the build afterwards; allow all non-impacted builds to continue), maven proceeds executing on the other modules, but skipping modules depending on the one that has failed.
Then comes fail never (
--fail-never: NEVER fail the build, regardless of project result), maven ignores failures and keeps executing on all remaining modules, even modules that depend on the failing one.