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

Gradleのbuild.gradle設定を解説!Jakarta EE初心者向け完全ガイド

Gradleのbuild.gradle設定(Jakarta EE用)
Gradleのbuild.gradle設定(Jakarta EE用)

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

生徒

「Jakarta EEを使ったJavaのWebアプリをGradleで作ってるんですけど、build.gradleの書き方がよくわかりません…」

先生

「Gradleのbuild.gradleはJakarta EEの開発にとても重要ですよ。依存関係の指定やビルドの設定がこのファイルで行えます。」

生徒

「Jakarta EEに必要なライブラリとか、どんなふうに指定したらいいんですか?」

先生

「それでは、Jakarta EE向けにbuild.gradleファイルをどう書けばいいか、具体的に説明していきましょう!」

1. Jakarta EEでbuild.gradleを書く基本方針

1. Jakarta EEでbuild.gradleを書く基本方針
1. Jakarta EEでbuild.gradleを書く基本方針

Gradleのbuild.gradleファイルは、Jakarta EEのWebアプリケーションを構築する上で中心となる設定ファイルです。このファイルでは、使用するプラグインやライブラリ、Javaのバージョン、ビルド時の出力形式(WARファイルなど)を定義します。

Jakarta EEアプリケーションの場合、warプラグインを有効にし、jakarta.jakartaee-web-apiなどの依存関係を追加することが一般的です。アプリケーションサーバー(PayaraやWildFlyなど)にデプロイするため、依存ライブラリの一部はprovidedCompileとして扱う必要があります。

2. プラグインと基本設定を記述する

2. プラグインと基本設定を記述する
2. プラグインと基本設定を記述する

まずはプラグインと基本情報を定義しましょう。Jakarta EEアプリケーションではwarプラグインが必須となります。javaプラグインも併用します。


plugins {
    id 'java'
    id 'war'
}

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

groupはパッケージ名、versionはアプリのバージョン管理に使われます。

3. 使用するリポジトリを指定する

3. 使用するリポジトリを指定する
3. 使用するリポジトリを指定する

Jakarta EEのAPIを取得するためには、Maven Centralをリポジトリとして指定します。これは多くのJavaライブラリが公開されている中央のリポジトリです。


repositories {
    mavenCentral()
}

4. Jakarta EEの依存関係を追加する

4. Jakarta EEの依存関係を追加する
4. Jakarta EEの依存関係を追加する

Jakarta EE Web APIをprovidedCompileとして追加します。これは、アプリケーションサーバーが提供してくれるため、自分のアプリには含めないという意味です。JUnitによるテストも忘れずに。


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

jakarta.jakartaee-web-apiのバージョンは、使用するアプリケーションサーバーの対応バージョンに合わせて選びましょう。最新は2025年時点で10.0.0です。

5. Javaのバージョンを明示的に指定しよう

5. Javaのバージョンを明示的に指定しよう
5. Javaのバージョンを明示的に指定しよう

Javaのソースコードとバイナリの互換性を保つために、Javaのバージョンを指定します。Jakarta EE 10以降はJava 11以上が必要であり、Java 17を使うのが一般的です。


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

この指定により、コンパイル時のトラブルを防ぎ、Jakarta EEに最適化されたコードを安定してビルドできます。

6. WARファイルをビルドする設定と出力先

6. WARファイルをビルドする設定と出力先
6. WARファイルをビルドする設定と出力先

warプラグインを適用することで、Gradleは自動的にWebアプリケーション用の.warファイルを生成します。出力先はbuild/libsディレクトリとなります。


./gradlew build

ビルド後に生成される.warファイルは、PayaraやWildFlyといったJakarta EE対応のアプリケーションサーバーへデプロイすることができます。

7. Jakarta EEとGradleを使った開発を快適に進めるコツ

7. Jakarta EEとGradleを使った開発を快適に進めるコツ
7. Jakarta EEとGradleを使った開発を快適に進めるコツ

Jakarta EEでWebアプリケーションを開発する際、build.gradleの設計は非常に重要です。Gradleは軽量で高速なビルドツールとして、Jakarta EEのビルドに最適な選択肢です。特に依存関係の柔軟な管理ができる点や、設定ファイルがシンプルに保てる点が初心者にとっても扱いやすいメリットになります。

また、アプリケーションサーバーごとに対応しているJakarta EEのバージョンが異なるため、jakartaee-web-apiのバージョンもそれに合わせて調整する必要があります。Gradleを活用すれば、プロジェクトの構成変更にも柔軟に対応できるため、学習用としても本番用としても使いやすい構成となります。

8. 実際のbuild.gradle全体の完成例

8. 実際のbuild.gradle全体の完成例
8. 実際のbuild.gradle全体の完成例

ここまでの説明をもとに、Jakarta EEプロジェクトで使用するbuild.gradleの完成版を掲載しておきます。


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
}

このファイルをベースに、JSPやServlet、JPAなどの各機能を順次追加していくことで、本格的なJakarta EEアプリケーションへと発展させていくことができます。

まとめ

まとめ
まとめ

Jakarta EEをGradleで扱う際に中心となる設定ファイルであるbuild.gradleは、Webアプリケーションの構築に必要な依存関係やビルド設定を明確に定義するための重要な役割を担っています。とくにJakarta EE向けの設定では、warプラグインやjavaプラグインの適用、jakarta.jakartaee-web-apiの追加、Javaバージョンの指定など、基本となる要素をしっかり理解することで、アプリケーションの構成が安定し、ビルドエラーを未然に防ぐことができます。

また、Jakarta EEの開発ではアプリケーションサーバーが提供するAPIを前提としているため、providedCompileの役割を理解しておくことが不可欠です。依存関係を必要に応じて適切に指定することで、サーバー側のAPIと競合せず、プロジェクト構造を整理しやすくなります。Gradleならではの柔軟さと読みやすさは、初心者にとっても理解しやすい利点となり、規模が大きくなるプロジェクトでも一貫した構成を維持しやすい特徴があります。

加えて、Jakarta EEを利用するプロジェクトではJSP、サーブレット、JPA、CDIなど多様な機能が統合されることが多く、それらを取り扱うためにもGradleファイルの管理が非常に重要になります。Javaバージョンの指定やテストフレームワークの追加、ビルド出力の確認など、プロジェクト全体の基礎部分を固める作業は堅実なWebアプリケーション開発の第一歩となります。今回の内容を通して、Jakarta EE開発で欠かせないGradle設定の流れと、必要な項目を整理できるようになり、初心者でも着実にステップアップできる基盤が整います。

サンプルプログラム(まとめ用の補足)


plugins {
    id 'java'
    id 'war'
}

group = 'com.example.sample'
version = '1.1.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
}

tasks.register('printInfo') {
    doLast {
        println "Jakarta EE と Gradle の基本設定が完了しました。"
    }
}
先生と生徒の振り返り会話

生徒

「先生、今日の説明でGradleのbuild.gradleがだいぶ理解できました!特にwarプラグインやprovidedCompileの役割がよくわかりました。」

先生

「それはよかったね。Jakarta EEではサーバーがAPIを提供するから、その理解はとても大切なんだよ。Gradleを正しく設定できれば、開発がぐっと楽になるよ。」

生徒

「Javaのバージョン指定もすごく重要なんですね。指定しないとコンパイルエラーになることもあるなんて知りませんでした。」

先生

「その通りだよ。Jakarta EEのバージョンとJavaの対応関係は特に気をつけるところだね。今回学んだ設定を元に、自分でもプロジェクトを作って試してみるといいよ。」

生徒

「はい!次はサーブレットやJSPも動かしてみます!」

先生

「いいね。少しずつ理解を積み重ねればJakarta EEもGradleも必ず扱えるようになるよ。」

カテゴリの一覧へ
新着記事
New1
Play Framework
Play Frameworkでフォームデータをコントローラで扱う方法を完全解説|Java初心者向けコントローラ入門
New2
Jakarta EE
Jakarta EE JSPにおけるJSTLとスクリプトレットの違いと使い分けを初心者向けに徹底解説
New3
Play Framework
Play Frameworkでクエリパラメータをコントローラで処理する方法を完全解説|Java初心者向け入門
New4
Play Framework
Play FrameworkとSpring Bootの違いを徹底比較!初心者でもわかるJavaフレームワーク入門
人気記事
No.1
Java&Spring記事人気No1
Jakarta EE
Jakarta EEのリリースサイクルとバージョンの進化をやさしく解説!
No.2
Java&Spring記事人気No2
Jakarta EE
Jakarta サーブレットのHttpServletRequestを徹底解説!初心者でもわかる基本操作と使い方
No.3
Java&Spring記事人気No3
Jakarta EE
Jakarta EEとSpringの比較|どちらを選ぶべきか?初心者向けに徹底解説!
No.4
Java&Spring記事人気No4
Jakarta EE
Jakarta EEとJava EEアプリの互換性を完全解説!移行で困らないための基礎知識
No.5
Java&Spring記事人気No5
Jakarta EE
Jakarta EE JSPでJSTL SQLタグを使った簡易データベースアクセスをやさしく解説
No.6
Java&Spring記事人気No6
Jakarta EE
Jakarta EE JSPにおけるJSTL国際化タグ(fmt:message)の使い方を初心者向けに完全解説
No.7
Java&Spring記事人気No7
Jakarta EE
Jakarta EE JSPでJSTLを使ったJSONやREST APIレスポンス処理を初心者向けにやさしく解説
No.8
Java&Spring記事人気No8
Play Framework
Play Frameworkでリクエストデータの受け取り方を完全解説|Java初心者向けコントローラ入門