Un proyecto de agregación de Maven le permite crear múltiples componentes (proyectos) en un proyecto principal de Maven. Estos múltiples componentes pueden depender entre sí para lograr la reutilización de componentes.
1. Crea un proyecto Maven normal.
Creación completada
2. Modifique el pom.xm del proyecto principal y establezca el método de empaquetado en pom.
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.study</groupId>
<artifactId>Maven-study</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
</project>
El proyecto principal se utiliza para administrar subproyectos y no implementa negocios, por lo que el directorio src se puede eliminar selectivamente.
3. Crear módulo
Seleccione el proyecto principal, haga clic derecho en Nuevo módulo, luego seleccione el tipo de proyecto que desea crear
e ingrese el nombre del subproyecto (heredado del proyecto principal).
El pom del módulo heredará el pom
del proyecto principal. pom declarará al hijo del proyecto principal actual. Los módulos
generalmente solo almacenan pojo, dao y otras clases reutilizables en común, y luego las llaman en otros módulos.
4. Cree dos submódulos SpringBoot
5. Modifique el archivo pom del proyecto principal para heredar spring-boot-starter-parent, declare el submódulo y agregue las dependencias que ambos proyectos deben usar.
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.study</groupId>
<artifactId>Maven-study</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
<module>common</module>
<module>manager-system</module>
<module>user-system</module>
</modules>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
6. Heredar el proyecto principal en los dos módulos secundarios y eliminar las dependencias declaradas en el proyecto principal.
Al introducir el módulo común en un subproyecto, puede llamar a las clases en común. Antes de hacer esto, debe compilar y empaquetar el módulo común y
agregar dependencias en la gestión de dependencias: dependencyManagement en el proyecto principal, lo que significa definir el versión predeterminada de esta dependencia en el subproyecto.