カテゴリ: Micronaut 更新日: 2026/01/12

Micronautプロジェクトを複数モジュール化する方法!Gradleの構成を解説

Micronautプロジェクトを複数モジュール化する方法!Gradleの構成を解説
Micronautプロジェクトを複数モジュール化する方法!Gradleの構成を解説

先生と生徒の会話形式で理解しよう

生徒

「先生、Micronautのプロジェクトを複数のモジュールに分けて管理したいんですが、どうすればいいですか?」

先生

「MicronautではGradleを使ってプロジェクトをマルチモジュール化できます。複数のモジュールに分けることで、依存関係の管理やビルド効率を改善できます。」

生徒

「具体的にはどのような構成になるんですか?」

先生

「親プロジェクト(ルート)を作成し、その下にアプリケーションモジュールやライブラリモジュールを作成します。Gradleの設定ファイルでモジュール間の依存関係を指定するのが基本です。」

生徒

「設定例を見せてもらえますか?」

先生

「もちろんです。では具体的にGradleの構成を解説しましょう。」

1. マルチモジュールプロジェクトの基本構成

1. マルチモジュールプロジェクトの基本構成
1. マルチモジュールプロジェクトの基本構成

Micronautで複数モジュール化する場合、ルートプロジェクトを作成し、その配下にアプリケーションモジュールや共通ライブラリモジュールを配置します。例えば、以下のようなディレクトリ構成が考えられます。


micronaut-multi-module/
├── build.gradle
├── settings.gradle
├── app/
│   └── build.gradle
├── common/
│   └── build.gradle
└── service/
    └── build.gradle

この構成では、appがメインアプリケーション、commonが共通ライブラリ、serviceがビジネスロジック用モジュールとなります。

2. settings.gradleでモジュールを登録

2. settings.gradleでモジュールを登録
2. settings.gradleでモジュールを登録

Gradleではルートプロジェクトのsettings.gradleにサブプロジェクトを登録します。これにより、サブモジュールを一括でビルドできるようになります。


rootProject.name = 'micronaut-multi-module'

include 'app'
include 'common'
include 'service'

この設定により、Gradleはappcommonserviceモジュールを認識し、依存関係の解決やビルドが可能になります。

3. サブモジュール間の依存関係設定

3. サブモジュール間の依存関係設定
3. サブモジュール間の依存関係設定

サブモジュール間の依存関係は、各モジュールのbuild.gradleに記述します。例えば、appモジュールがcommonを利用する場合は以下のように設定します。


dependencies {
    implementation project(':common')
    implementation("io.micronaut:micronaut-runtime")
}

同様に、serviceモジュールもcommonを依存関係に加えることで、共通のユーティリティやモデルクラスを再利用できます。

4. Gradleビルドの活用ポイント

4. Gradleビルドの活用ポイント
4. Gradleビルドの活用ポイント

マルチモジュール構成では、Gradleのビルドキャッシュや並列ビルドを活用すると効率が向上します。特にMicronautはAOTコンパイルやDIコード生成が含まれるため、サブモジュールごとに並列でビルドすると時間を短縮できます。


# gradle.properties
org.gradle.parallel=true
org.gradle.build-cache=true
org.gradle.daemon=true

これにより、モジュール間の再ビルドが最小限になり、開発効率が大幅に向上します。

5. サンプルプロジェクトのアプリケーションモジュール

5. サンプルプロジェクトのアプリケーションモジュール
5. サンプルプロジェクトのアプリケーションモジュール

簡単なサンプルとして、appモジュールでMicronautアプリケーションを起動する例を示します。


import io.micronaut.runtime.Micronaut;

public class Application {
    public static void main(String[] args) {
        Micronaut.run(Application.class, args);
        System.out.println("Micronautマルチモジュールアプリケーションが起動しました。");
    }
}

Micronautマルチモジュールアプリケーションが起動しました。

この構成で./gradlew buildを実行すると、すべてのモジュールがビルドされ、依存関係も正しく解決されます。

6. モジュール化によるメリットと注意点

6. モジュール化によるメリットと注意点
6. モジュール化によるメリットと注意点

Micronautプロジェクトをモジュール化することで、以下のメリットがあります。

  • 共通ライブラリをサブモジュールとして分離でき、コードの再利用性が向上
  • ビルド対象を限定できるため、開発中のビルド時間を短縮可能
  • CI/CDで部分的なテストやデプロイが可能になる

注意点としては、モジュール間の依存関係が複雑になると管理が難しくなるため、依存関係を整理しながら設計することが重要です。また、GradleのバージョンやMicronautのバージョンにより設定方法が微妙に異なることがあるので、公式ドキュメントも参考にすると安心です。

関連記事:
カテゴリの一覧へ
新着記事
New1
Quarkus
Quarkusのフォーム認証を基礎から解説!初心者向けセキュリティ入門ガイド
New2
Micronaut
MicronautプロジェクトをGradleで管理する基礎!build.gradleの役割を解説
New3
Micronaut
LinuxでMicronautをセットアップする方法!パッケージ管理とGradle連携
New4
Java
Javaのswitch文を徹底解説!case・defaultの書き方と実例まとめ
人気記事
No.1
Java&Spring記事人気No1
Quarkus
Quarkusプロジェクト構成の基本を完全解説!初心者でも迷わない「どこに何を書くか」ガイド
No.2
Java&Spring記事人気No2
Quarkus
Quarkusのセキュリティ基礎を初心者でもわかるように解説!
No.3
Java&Spring記事人気No3
Quarkus
QuarkusとMicronautとHelidonを徹底比較!軽量Javaフレームワークの違いを初心者向けに解説
No.4
Java&Spring記事人気No4
Quarkus
Quarkusの開発環境構築で躓きやすいポイントを完全解説!初心者でも安心して始めるためのチェックガイド
No.5
Java&Spring記事人気No5
Micronaut
MicronautとSpring Bootの違いとは?アーキテクチャ比較で速さの秘密を理解する
No.6
Java&Spring記事人気No6
Quarkus
Quarkusでマイクロサービス開発が加速する理由を徹底解説!Java初心者でも分かるクラウドネイティブ
No.7
Java&Spring記事人気No7
Micronaut
Micronautのアプリケーション起動が速い理由を初心者向けに解説
No.8
Java&Spring記事人気No8
Micronaut
MicronautのAOPが高速な理由とは?コンパイル時AOPの仕組みを初心者向けに徹底解説