我正在查看一些开源项目并注意到它们的设置如下:
/app1/pom.xml
/app1/app1-mod1/pom.xml
/app1/app1-mod2/pom.xml
/app1/app1-mod3/pom.xml
所以有一个主pom,然后所有的模块都有pom.xml。
所以在我的情况下,我有以下内容:
1. spring mvc application
2. spring mvc application
3. shared model/db layer
所以我想我应该遵循多个pom.xml设置?
如果是,我将如何在#2和#1之前建立#3。
我应该选择蚂蚁来执行实际构建吗?
你们知道的任何教程都会引导我完成这个过程吗?
我在IntelliJ中编码。
答案 0 :(得分:3)
Maven反应堆将以适当的顺序构建模块,您可以通过对它们进行排序来告诉它您认为最佳方式。
我有类似的项目设置:
<artifactId>root</artifactId>
<packaging>pom</packaging>
<name>Root</name>
<modules>
<module>event</module>
<module>admin</module>
<module>public</module>
</modules>
然后由其他模块用作父项。事件库用于管理和公共webapp模块。在webapp模块中定义如下内容:
<dependencies>
<!-- Events -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>event</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
来自root的 mvn install 工作得很漂亮。
答案 1 :(得分:2)
Maven会自行计算dependencies你设置你的POM所以 模块#1和#2都依赖于#3 maven将首先构建#3而不需要任何其他配置。
发布插件也需要您使用的布局(多模块)。