Java Maven构建顺序(多个模块)
我有一个Maven父项目,它有多个子/模块…我的主/父项目有以下pom.xmlJava Maven构建顺序(多个模块),java,maven,build,Java,Maven,Build,我有一个Maven父项目,它有多个子/模块…我的主/父项目有以下pom.xml <modules> <module>Main-Ear</module> <module>Sub-Web</module> <module>Sub-Ui</module> <module>Sub-Services</module> &
<modules>
<module>Main-Ear</module>
<module>Sub-Web</module>
<module>Sub-Ui</module>
<module>Sub-Services</module>
<module>Sub-SSO-Login</module>
</modules>
在这种情况下,Maven从何处获取构建顺序?
Maven
没有从我们在主pom.xml
中定义的内容获取模块构建顺序Maven
通过考虑模块之间的依赖关系来决定顺序
在您的情况下,主Ear
肯定应该最后生成
我们考虑下面的例子。
我有模块A
,B
和C
。模块A
与模块C
和B
有依赖关系,而模块C
与模块B
有依赖关系。然后,maven
建筑顺序将
B
C
A
无法手动控制生成顺序: 来自Maven项目文档(): 反应器分拣 因为多模块构建中的模块可以相互依赖, 重要的是,反应堆以一种 保证任何项目在需要之前完成 在对项目进行排序时,遵循以下关系:
- 项目依赖于生成中的另一个模块
- 插件声明,其中插件是构建中的另一个模块
- 插件依赖于构建中的另一个模块
- 生成中另一个模块上的生成扩展声明,其顺序在元素中声明(如果没有其他规则适用)
所以,你是说pom.xml中没有明确的声明……但是Maven自己做出决定……基于依赖性……@testndtv Yes。我认为(但我不确定)如果两个子模块之间没有依赖关系,这可能仍然取决于您声明的顺序。e、 g.A->C和B->C,然后Maven可以使用声明顺序来确定构建了A或B中的哪一个first@AdrianShum如果彼此之间没有依赖关系,那么maven将使用我们定义的顺序
B
C
A