对于一个maven项目,如果有多个模块,那么它们的执行顺序是什么样的呢?
在执行mvn操作的时候,你可以看到如下信息,这个便是maven的build顺序
那么maven是如何决定顺序的呢?如下:
在多模块Maven项目中,反应堆(Reactor)是一个包含了所有需要构建模块的抽象概念,对于Maven用户来说,主要关心的是两点:
- 哪些模块会被包含到反应堆中?
- 反应堆中所有模块的构建顺序是什么?
在默认情况下,Maven会根据多模块配置构建所有的模块,Maven还会根据模块间的依赖关系自动计算构建顺序,以确保被依赖的模块会先得以构建。值得一提的是,在这种情形下,Maven会将父模块看成是其子模块的依赖。
参考:
1、http://juvenshun.iteye.com/blog/565240