首页 > 解决方案 > 如何在maven多模块项目中构建依赖模块

问题描述

我有当前的 Maven 多模块项目结构:

./pom.xml 
project1/service-a/pom.xml
project1/service-b/pom.xml
project2/service-x/pom.xml 

我需要在构建 service-x 时构建 service-b 和 service-a 。我在 service-x/pom.xml 中定义了依赖项

<dependencies>
     <dependency>
         <groupId>org.com/groupId>
         <artifactId>service-a</artifactId>
     </dependency>
     <dependency>
         <groupId>org.com</groupId>
         <artifactId>service-b</artifactId>
     </dependency>
 </dependencies>

但是当我构建 service-x 时, service-a 和 service-b 没有构建。

我尝试从父模块文件夹运行以下命令:

mvn package -pl project2/service-x
mvn package -pl project2/service-x -amd

从 service-x 文件夹:

mvn package

没有错误消息。它只构建 service-x

标签: javamavenmulti-module

解决方案


您的 service-x 在项目 2 中,而您的 service-a 和 service-b 在项目 1 中。当您构建项目 2 时,您无法使用 maven 包同时构建项目 1。但是您可以编写一个调度程序来同时构建所有项目,或者使用 jenkins 创建管道构建。


推荐阅读