Maven のアグリゲーション プロジェクトの構築図

集約エンジニアリング:Mavenエンジニアリングベースのモジュール開発を指します。その利点は次のとおりです。

  1. ディレクトリは明確で管理しやすい
  2. 個別開発(チーム)対応
  3. 便利で統一された依存関係のバージョン管理

実際には、これが私がそれを理解している方法です(間違っているかもしれませんが、心が開いていると思います。意味を理解することは問題ありません)。

プロジェクトのボスはタスクを送信し、最初に次のことを行いました。

  1. pomプロジェクトの構造を事前に設定し、ファイル内の依存関係管理を指定
  2. 各人には、エンティティ クラス、Mapper+ テスト、サービス レイヤー、コントローラーなどの基礎となるタスクが割り当てられます
  3. 一人一人の制限時間は異なり、同時に複数のプロジェクトを担当することもあるため、チームワークははしごの上で行われる可能性があります。

画像.png

では、最初の 2 つのことについて、集約エンジニアリングについて学びましょう。

ステップ

新築

新しい空のプロジェクトを作成し、mavenパッケージ管理ツールとして指定します。

画像.png

プロジェクトに入ったら、srcディレクトリを削除します。これは、srcソース コード ディレクトリとして使用される親プロジェクトであり、親プロジェクトはここでコードを編集しないため、直接削除します。

pom ファイルの編集 - 統一された依存関係管理

開発を使用するのが主流であるSpringBootため、親ディレクトリの親を指定できます。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.6.RELEASE</version>
</parent>
复制代码

ラベルにproperties、プロジェクトが依存する必要があるバージョン番号を指定します. これは主にspring-boot-starter-parent参照の形で行われます. 興味がある場合は、クリックしてご覧くださいspring-boot-dependencies.

後で統合プロジェクトを導入するために、いくつかの基本的なパッケージが最初に導入され、それらのバージョン番号が指定されます。

  1. mybatis-plus: データ永続化レイヤー フレームワーク
  2. knife4j: インターフェイス ドキュメント フレームワーク
  3. jwt: jwt セキュリティ認証
  4. fastjson: json 形式の変換
<properties>
    <java.version>1.8</java.version>
    <mybatis-plus.version>3.4.1</mybatis-plus.version>
    <mysql.version>8.0.30</mysql.version>
    <knife4j.version>3.0.3</knife4j.version>
    <jwt.version>0.9.1</jwt.version>
    <fastjson.version>2.0.21</fastjson.version>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
复制代码

これの目的は、このプロジェクトが依存しているパッケージに競合がないことを最初に確認することです。

これだけでは不十分です.これはバージョン番号を指定するだけで,変数を定義するのと同じです.以降のプロジェクトの依存関係構成を導入するために,バージョン番号は入れません.dependencyManagementラベルも書く必要があります.

<dependencyManagement>
    <dependencies>
        <!--mybatis-plus 持久层-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
        <!--knife4j-->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>${knife4j.version}</version>
        </dependency>
        <!--jjwt-->
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>${jwt.version}</version>
        </dependency>
        <!--fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>
复制代码

このようにして、後続のサブモジュールがこの依存関係をインポートするときに、バージョン番号を指定する必要がなくなりました

新しいモジュール - タスクの割り当て

図のようにクリック

画像.png

以下は一例で、他の手順は同じです。重要な点は、Parent書き込まれているものが親プロジェクトの対応するものであることを明確に確認することです。artifactId

画像.png

検証: 親プロジェクトに青い下向き矢印が表示されます。

画像.png

これは、このプロジェクトの下に独立したサブモジュールが作成されたことを意味します。

次に、下位の作業順序からこれらのモジュールを割り当てます。サブモジュールは、dependencies他のサブモジュールの説明を (次のように) 記述して依存させることができます。たとえば、service次のようにmapperなります。

<dependency>
    <groupId>top.chengyunlai</groupId>
    <artifactId>mapper</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>
复制代码

Supongo que te gusta

Origin juejin.im/post/7222257177187450936
Recomendado
Clasificación