カテゴリ: Jakarta EE 更新日: 2025/12/11

GradleでJakarta EEプロジェクトを作る手順を解説!初心者でもできる設定方法

GradleでJakarta EEプロジェクトを作る手順
GradleでJakarta EEプロジェクトを作る手順

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

生徒

「先生、Jakarta EEのプロジェクトってGradleでも作れますか?」

先生

「もちろん作れますよ。最近ではMavenだけでなくGradleを使うケースも増えています。」

生徒

「どうやってセットアップするんですか?Spring Bootみたいに簡単にできますか?」

先生

「確かにSpring Bootに比べると少し手動の作業がありますが、手順通りにやれば簡単です。では、一緒にGradleでJakarta EEのプロジェクトを作ってみましょう!」

1. GradleでJakarta EEプロジェクトを作る理由とは

1. GradleでJakarta EEプロジェクトを作る理由とは
1. GradleでJakarta EEプロジェクトを作る理由とは

Jakarta EEプロジェクトでは、従来はMavenが多く使われてきましたが、最近ではGradleも広く利用されるようになっています。Gradleはビルドの高速化、柔軟なカスタマイズ、依存関係の管理がしやすいという利点があります。また、コマンドが直感的で初心者にも優しい設計です。

Jakarta EEとGradleを組み合わせることで、モダンなJava開発環境を構築しやすくなり、効率的な開発が可能になります。

2. プロジェクトのディレクトリ構成を用意しよう

2. プロジェクトのディレクトリ構成を用意しよう
2. プロジェクトのディレクトリ構成を用意しよう

まずは、以下のような基本的なディレクトリ構成を作成します。webappWEB-INFといったディレクトリはJakarta EEアプリケーションでは重要な要素です。


jakartaee-gradle-app/
├── build.gradle
├── settings.gradle
└── src/
    └── main/
        ├── java/
        │   └── com/example/
        │       └── HelloServlet.java
        └── webapp/
            └── WEB-INF/
                └── web.xml

この構成を作っておくと、GradleからWARファイル(Webアプリケーション用のパッケージ)を簡単に生成できます。

3. build.gradleに必要な設定を書く

3. build.gradleに必要な設定を書く
3. build.gradleに必要な設定を書く

次に、build.gradleにJakarta EE用の依存関係と、WARプラグインの設定を記述しましょう。ここではwarプラグインを使用し、Jakarta Servletの依存を追加します。


plugins {
    id 'java'
    id 'war'
}

group = 'com.example'
version = '1.0.0'

repositories {
    mavenCentral()
}

dependencies {
    providedCompile 'jakarta.platform:jakarta.jakartaee-web-api:10.0.0'
    testImplementation 'junit:junit:4.13.2'
}

java {
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}

providedCompileは、実行時にはアプリケーションサーバー(PayaraやWildFly)がJakarta EEのAPIを提供するため、ローカルでだけ使う依存として指定します。

4. settings.gradleにプロジェクト名を設定

4. settings.gradleにプロジェクト名を設定
4. settings.gradleにプロジェクト名を設定

プロジェクトのルート名を指定することで、ビルドツールが適切にプロジェクトを認識できるようになります。


rootProject.name = 'jakartaee-gradle-app'

5. サーブレットクラスを作成しよう

5. サーブレットクラスを作成しよう
5. サーブレットクラスを作成しよう

Jakarta EEプロジェクトでは、サーブレットを使ってリクエスト処理を行います。以下は簡単なHelloServletの例です。


package com.example;

import jakarta.servlet.*;
import jakarta.servlet.http.*;
import java.io.IOException;

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        resp.setContentType("text/html;charset=UTF-8");
        resp.getWriter().write("<h1>こんにちは Jakarta EE!</h1>");
    }
}

6. web.xmlでサーブレットを定義する

6. web.xmlでサーブレットを定義する
6. web.xmlでサーブレットを定義する

web.xmlはデプロイメントディスクリプタと呼ばれ、サーブレットのマッピングなどを定義します。


<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         version="10"
         metadata-complete="true">

    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.example.HelloServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

</web-app>

7. GradleでWARファイルをビルドする方法

7. GradleでWARファイルをビルドする方法
7. GradleでWARファイルをビルドする方法

すべての設定が完了したら、GradleのコマンドでWARファイルをビルドしてみましょう。


./gradlew clean build

ビルドが成功すると、build/libs/ディレクトリ内にjakartaee-gradle-app.warファイルが生成されます。このWARファイルをPayaraやWildFlyなどのJakarta EEアプリケーションサーバーにデプロイすれば、Webアプリとして動作します。

8. Jakarta EEとGradleの組み合わせは初心者に最適

8. Jakarta EEとGradleの組み合わせは初心者に最適
8. Jakarta EEとGradleの組み合わせは初心者に最適

GradleでJakarta EEプロジェクトを構成することで、ビルドや依存関係の管理が視覚的に分かりやすくなります。また、Spring Bootのようなフレームワークを使わずに純粋なJakarta EEの構成を理解するのにも適しています。

初心者の方は、まずはこのような基本構成からスタートし、少しずつJSPやJPAなどの他のJakarta EE機能を取り入れていくと良いでしょう。

まとめ

まとめ
まとめ

Gradleを使ってJakarta EEプロジェクトを構築する流れは、一見すると設定項目が多く感じられるかもしれませんが、手順に沿って進めることでシンプルかつ効率的に開発環境を整えることができます。ここまでの内容では、プロジェクトのディレクトリ構成を準備し、build.gradlesettings.gradleで基本設定を記述し、サーブレットやweb.xmlを配置して動作するJakarta EEアプリケーションの基盤を整えるまでの流れを学びました。特にGradleは柔軟なカスタマイズや高速ビルドが特徴で、Jakarta EEのような企業向けWebアプリケーションでも強力に活用できます。 また、WARファイルの生成や依存関係の管理が視覚的にわかりやすく、初心者の学習にも適しているため、Javaの基礎とJakarta EEの動作を理解する際にとても役立ちます。ビルドツールが提供するプラグインを効果的に利用することで、サーブレットの作成からデプロイまでをスムーズに進められる点も魅力です。Gradleでのビルド設定は柔軟であり、Jakarta JSPファイルやJPAといった他のJakarta EE技術との組み合わせも自然に拡張していける構成になっています。 さらに、Gradleのjavaプラグインとwarプラグインを組み合わせることで、Jakarta EEの開発に必要な最低限の要素を自動化し、開発者がアプリケーションのロジックに集中できる仕組みが整っています。以下に、カスタムタスクを使ってWARファイルのビルド時に追加処理を行う例を紹介します。これにより、Gradleの柔軟性をさらに活かすことが可能です。

サンプルコード:Gradleでカスタムタスクを追加する例


tasks.register('printStructure') {
    group = 'build'
    description = 'プロジェクトの構成を確認する簡単なタスク'

    doLast {
        println "src/main/java と src/main/webapp を確認してください。"
    }
}

tasks.named('build') {
    dependsOn 'printStructure'
}

このようなタスクを追加することで、ビルドプロセスに自作の処理を組み込み、プロジェクトの構造確認やログ出力など、各工程で独自のチェックを行えるようになります。Gradleの拡張性はJakarta EEとの相性が非常に良く、サーバーへのデプロイ処理の自動化や、テスト実行の制御なども簡単に組み込むことができます。 また、サーブレットクラスを作る過程で記述したHelloServletのように、リクエストに応答する基本的な流れを理解しておくと、今後JSPやREST APIを実装する際にもスムーズに取り組むことができます。Jakarta EEは広い機能セットを持っていますが、Gradleによる基盤構築をしっかり理解しておけば、機能拡張や本格的なWebアプリケーション構築への第一歩となります。 今回の手順で構築したプロジェクトをベースに、JSPによる画面表示、JPAを使ったデータベース操作、Contexts and Dependency Injection (CDI) を利用した依存性注入など、さまざまな Jakarta EE の機能を段階的に追加していくことで、本格的なエンタープライズアプリケーションへ育てていくことができます。Gradleは設定が見通しやすいため、初めてJakarta EEに触れる人でも安心して開発を続けられる点が大きな利点です。 また、アプリケーションサーバーへのデプロイ作業やテストの自動化にも発展させられるため、この基礎をしっかり理解しておくことで、新しい機能やライブラリを導入する際にもスムーズに対応できるようになります。

先生と生徒の振り返り会話

生徒

「GradleでJakarta EEのプロジェクトを作る仕組みがよく分かりました!Spring Bootと違って手動の設定が多いけど、仕組みそのものを理解できて勉強になりました。」

先生

「そうだね。自動化が少ない分、自分で構成を作ることでJakarta EEの基本がしっかり身につくんだよ。Gradleは柔軟だから慣れればとても使いやすいよ。」

生徒

「HelloServletの例もわかりやすかったです。web.xmlとの連携も理解できました。次はJSPやJPAにも挑戦してみたいです。」

先生

「ぜひ挑戦してみよう!Gradleで基盤が整っていれば、他のJakarta EE技術も自然に取り入れられるようになるよ。」

生徒

「WARファイルの生成も簡単で驚きました。Gradleがこんなに便利だとは思いませんでした。」

先生

「Gradleの利点を実感できたようで良かったです。今後の開発でもどんどん活用していきましょう。」

カテゴリの一覧へ
新着記事
New1
Jakarta EE
Jakarta EEとクラウドネイティブ開発の相性とは?初心者向けにわかりやすく解説
New2
Jakarta EE
JakartaEE JSPのリクエスト属性とスコープの基本を徹底解説!初心者向け入門ガイド
New3
Play Framework
Play Frameworkのビューテストを徹底解説!Twirlテンプレートの品質を高める方法
New4
Jakarta EE
JakartaEE フィルタで認証と認可を実装する方法を初心者向けに解説!サーブレットのセキュリティ入門
人気記事
No.1
Java&Spring記事人気No1
Jakarta EE
Jakarta EEとSpringの比較|どちらを選ぶべきか?初心者向けに徹底解説!
No.2
Java&Spring記事人気No2
Play Framework
Play Frameworkのビューを共通化!テンプレート間のインクルード方法を徹底解説
No.3
Java&Spring記事人気No3
Play Framework
Play Frameworkプロジェクト作成直後にやるべき初期設定ガイド!初心者でも安心
No.4
Java&Spring記事人気No4
Play Framework
Play FrameworkでCSSやJavaScriptを読み込む方法を徹底解説!静的リソースの組み込みガイド
No.5
Java&Spring記事人気No5
Play Framework
Play Frameworkで多言語対応(i18n)を徹底解説!Twirlテンプレートでの使い方
No.6
Java&Spring記事人気No6
Jakarta EE
Jakarta サーブレットのHttpServletRequestを徹底解説!初心者でもわかる基本操作と使い方
No.7
Java&Spring記事人気No7
Jakarta EE
Jakarta EEとJava EEアプリの互換性を完全解説!移行で困らないための基礎知識
No.8
Java&Spring記事人気No8
Jakarta EE
Jakarta EEの標準仕様とAPI一覧を完全解説!初心者でもわかるエンタープライズJavaの基本