使用maven一起构建多个模块

时间:2015-11-28 07:06:03

标签: java maven

我们有3个模块,分别是A,B和C.这3个模块是交叉依赖的。要编译AI需要B和C.要编译BI想要A和C.要编译C我们想要B和A.所以如何构建这3个模块在一起,我们想得到A.jar,B.Jar和C.war。

2 个答案:

答案 0 :(得分:0)

使用<dependencies>中的pom.xml部分为另一个模块添加依赖项。

为所有模块创建父pom。构建父级时,maven构建所有子级(除非在命令行上使用-pl :mymodule选择器)。请参阅pom的parent部分

您还可以添加具有A,B和C依赖关系或子集的第4个子模块D(没有人工制品,只是一个pom模块)。构建D时,maven使用选项-am(也是make)编译A,B,C,这会强制maven构建所选模块和依赖项。

请注意,必须避免在代码中存在循环依赖关系,否则maven将无法构建项目。如果您有循环依赖关系,请将两个模块的代码需求提取到另一个模块中,并在两个模块中添加依赖关系

答案 1 :(得分:0)

你要解释的是循环依赖。 Maven不支持循环依赖,如果您尝试这样做,您的构建将失败。

您可以创建一个多模块maven项目。将所有常用功能移至模块A.在模块B和模块C的pom.xml <dependencies>...</dependencies>部分中添加模块A的依赖关系。

Maven将按照您在父项目pom.xml <modules>...</modules>部分中指定的顺序构建模块。通过这种方式,您可以通过将<packaging>...</packaging>定义为jarwar在各自的模块pom.xml <中来创建A.jar,B.jar和C.war / p>

这些链接会很有用 - link1 link2

相关问题