Maven 集約プロジェクトを使用すると、Maven 親プロジェクトに複数のコンポーネント (プロジェクト) を作成でき、これらの複数のコンポーネントは相互に依存してコンポーネントの再利用を実現できます。
1. 通常の Maven プロジェクトを作成する
作成完了
2. 親プロジェクトの pom.xm を変更し、パッケージ化方法を 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>
親プロジェクトはサブプロジェクトの管理に使用され、業務を実装しないため、src ディレクトリを選択的に削除できます。
3. モジュールの作成
親プロジェクトを選択し、右クリックして [新規モジュール] を選択し、作成するプロジェクト タイプを選択して、
サブプロジェクト名 (親プロジェクトから継承) を入力します。
モジュールの pom は親プロジェクトの pom を継承します
。 pom は現在の親プロジェクトの子を宣言します。モジュールは
通常、pojo、dao、およびその他の再利用可能なクラスを共通に保存し、他のモジュールでそれらを呼び出します。
4. 2 つの SpringBoot サブモジュールを作成します
5. 親プロジェクトの pom ファイルを変更して spring-boot-starter-parent を継承し、サブモジュールを宣言し、両方のプロジェクトで使用する必要がある依存関係を追加します。
<?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. 2 つの子モジュールで親プロジェクトを継承し、親プロジェクトで宣言された依存関係を削除します。
共通モジュールをサブプロジェクトに導入すると、共通のクラスを呼び出すことができます。これを行う前に、共通モジュールをコンパイルしてパッケージ化し、親プロジェクトの依存関係管理 (dependencyManagement) に依存関係を追加する必要があります
。サブプロジェクト内のこの依存関係のデフォルト バージョン。