GradleでJakarta EEプロジェクトを構築する方法を解説!初心者でも安心のステップバイステップガイド
生徒
「Jakarta EEのプロジェクトってGradleでも作れるんですか?」
先生
「もちろんです。Gradleを使えば、Jakarta EEの開発環境も柔軟に構築できますよ。」
生徒
「Mavenと何が違うんですか?Gradleでの設定方法を教えてください!」
先生
「では、GradleでJakarta EEのプロジェクトを作る手順をわかりやすく説明しましょう。」
1. Gradleとは?Jakarta EEと一緒に使えるビルドツール
Gradleは、Javaアプリケーションのビルドと依存管理を柔軟に行えるモダンなビルドツールです。Jakarta EEの開発でも使うことができ、特にカスタマイズ性の高さとビルド速度の速さが特徴です。
Mavenと比べて記述が簡潔で、Kotlin DSLやGroovy DSLを用いたスクリプトが使えるのも魅力です。Jakarta EEとGradleを組み合わせれば、よりスマートに開発が進められます。
2. Jakarta EEプロジェクトをGradleで作成する準備
まずはGradleがローカル環境にインストールされていることを確認します。gradle -vでバージョンが表示されればOKです。次に、プロジェクトディレクトリを作成して、必要なファイルを配置します。
mkdir jakartaee-gradle-demo
cd jakartaee-gradle-demo
gradle init --type basic
上記で最小限のGradleプロジェクトが作成されます。ここからJakarta EE対応のWebアプリケーション構成に整えていきます。
3. Jakarta EE対応のbuild.gradleファイルを作成しよう
Jakarta EEを利用するには、build.gradle(Groovy DSL)にWebアプリケーション用のプラグインと依存関係を追加します。以下はJakarta EE 10に対応した基本構成です。
plugins {
id 'war'
id 'java'
}
repositories {
mavenCentral()
}
dependencies {
providedCompile 'jakarta.platform:jakarta.jakartaee-web-api:10.0.0'
}
war {
archiveFileName = 'jakartaee-gradle-demo.war'
}
providedCompileは、アプリケーションサーバーにJakarta EE APIが存在する前提でビルドに含めない設定です。
4. プロジェクト構成を整えよう
Jakarta EEのGradleプロジェクトでは、次のようなディレクトリ構成を用意します。
jakartaee-gradle-demo/
├── build.gradle
├── settings.gradle
├── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── HelloServlet.java
│ └── webapp
│ └── WEB-INF
│ └── web.xml
この中で特に重要なのは、web.xmlとServletクラスの配置です。Jakarta EEではWEB-INF以下の設定が必須になるケースがあります。
5. 簡単なServletクラスを作成しよう
ここでは、サンプルとしてHelloServletクラスを作成して、Jakarta EEの基本的な機能が動作するか確認します。
package com.example;
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import java.io.IOException;
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
resp.getWriter().write("Hello from Jakarta EE + Gradle!");
}
}
6. web.xmlにServletのマッピングを記述しよう
Servletを動かすためには、web.xmlでマッピング設定を行います。
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
<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>
この設定により、/helloにアクセスするとServletが呼び出されるようになります。
7. GradleでWARファイルをビルドしよう
プロジェクト構成と設定が終わったら、GradleでWARファイルをビルドしてみましょう。
gradle clean build
BUILD SUCCESSFUL
build/libs/jakartaee-gradle-demo.warというファイルが生成されていれば成功です。あとは、PayaraやWildFly、GlassFishなどのアプリケーションサーバーにデプロイすれば、Jakarta EEアプリケーションとして動作します。
8. Jakarta EE × Gradle開発のポイント
GradleでJakarta EEを構築する際は、以下のポイントを押さえておくと開発がスムーズになります。
- 依存関係は
providedCompileにする:アプリケーションサーバーがAPIを提供している前提。 - プラグインは
warとjavaを指定:WARファイル生成とJavaビルドをサポート。 - サーバーの対応バージョンに注意:Jakarta EE 10を使うならPayara 6やWildFly 27以降が必要。
Jakarta EEとGradleは相性が良く、シンプルで柔軟な開発環境が作れるため、Java初心者にもおすすめの構成です。
まとめ
GradleとJakarta EEを組み合わせた開発環境構築の総まとめ
Gradleを使ったJakarta EEプロジェクトの構築は、非常に柔軟で拡張性が高く、初心者でも取り組みやすいという大きな利点があります。今回の記事で紹介した手順を振り返ると、Gradleの初期化から始まり、Jakarta EE用の依存関係追加、Servletクラスの作成、web.xmlの設定、そしてWARファイルのビルドという一連の流れが、自然と理解できる構成となっています。特に、Gradleの記述が簡潔であることは大きな魅力です。JavaEE時代から続くWebアプリケーションの構造を保ちながら、近代的なビルドツールによる効率化が図れるため、学習にも実務にも役立つ開発環境と言えます。 また、GradleはDSL(GroovyまたはKotlin)により見通しの良いスクリプトを記述できるため、Jakarta EEに必要な設定を整理しながら学習できる点も優れています。依存関係やプラグイン設定を少しずつ理解することで、Jakarta EEの仕組みやアプリケーションサーバーとの関係性も自然と身につくでしょう。さらに、プロジェクト構成を自分で整える過程を通して、Java Webアプリケーションに必要なフォルダ構造やServletの配置ルールも深く理解できます。 サンプルServletでは、簡単なレスポンスを返すコードを記述することで、Jakarta Servlet APIの基本動作を実際に体験できました。GradleでビルドされたWARをPayaraやWildFlyなどのサーバーにデプロイすれば、すぐに動作確認ができるため、初心者でも「動いた!」という実感を得やすく、学習のモチベーションも維持しやすい環境が整えられます。
Jakarta EE × Gradleの実践向けサンプルコード
ここで、まとめとして簡単なServlet出力のサンプルを改行付きで記述し、より読みやすい形で示しておきます。実際にGradleプロジェクトで利用する際にもそのまま活用でき、Jakarta EEの基本動作理解に役立つ構成となっています。
package com.example;
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import java.io.IOException;
public class SampleServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html; charset=UTF-8");
resp.getWriter().println(
"<div class='p-3'>"
+ "<h2>Gradleで学ぶJakarta EE Servlet</h2>"
+ "<p>Gradleで生成したWARをサーバーにデプロイすることで、Servletの流れやJakarta EEの動作を深く理解できます。</p>"
+ "</div>"
);
}
}
Gradleを活用すると、依存関係の管理、ビルド、高度なタスクの自動化などを簡単に実現できるため、Jakarta EEの学習環境がより快適になります。特に、初心者が迷いがちなweb.xmlの配置やServletのマッピングも、プロジェクト構成を正しく理解することで自然と身につくでしょう。さらに、Jakarta EE 10対応のAPIを明示的に指定することで、サーバーとの互換性を保ちながら開発が行える点も重要なポイントです。 今回の解説を通じて、GradleとJakarta EEの組み合わせが持つ強力な利便性や柔軟性を実感できたはずです。設定を一つ一つ理解しながら進めることで、ビルドツールの基礎とJakarta EEの構造を同時に学べるため、Webアプリケーション開発の基礎力も確実に向上します。
生徒
「GradleでJakarta EEプロジェクトを作る流れがよく理解できました!Mavenより記述がスッキリしていて扱いやすいですね。」
先生
「そうなんです。Gradleは柔軟性が高いので、Jakarta EEのような構造の大きなプロジェクトでも管理しやすくなるんですよ。」
生徒
「サンプルServletも動かしやすくて、レスポンスが返ってきたときに仕組みが理解できました。WARファイルのビルドも簡単でした!」
先生
「Gradleはビルドが速いので開発効率にもつながります。Jakarta EEの各機能を試しながら、さらに理解を深めていきましょう。」