maven多模块项目通常由一个父模块和若干个子模块构成。
每个模块都对应着一个pom.xml,它们之间通过继承和聚合关系相互关联。多模块适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。
例如,为构建一个基于dubbo的服务示例,示例中包含了一个服务提供端,一个服务消费端,以及公用的一些接口协议和实体定义等。基于Maven多模块的构建方法,可以方便的实现管理。我们可以将服务提供者,服务消费者,公用模块三部分抽象为三个基本模块来管理。
1. 建立父项目
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>dubbo-booter-01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 1.父模块打包类型必须为pom -->
<packaging>pom</packaging>
<name>dubbo-booter-01</name>
<description>Demo project for Spring Boot with dubbo and multiple modules</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- 2.父项目包含的所有module的名字 -->
<modules>
</modules>
<properties