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を書く基本方針
Gradleのbuild.gradleファイルは、Jakarta EEのWebアプリケーションを構築する上で中心となる設定ファイルです。このファイルでは、使用するプラグインやライブラリ、Javaのバージョン、ビルド時の出力形式(WARファイルなど)を定義します。
Jakarta EEアプリケーションの場合、warプラグインを有効にし、jakarta.jakartaee-web-apiなどの依存関係を追加することが一般的です。アプリケーションサーバー(PayaraやWildFlyなど)にデプロイするため、依存ライブラリの一部はprovidedCompileとして扱う必要があります。
2. プラグインと基本設定を記述する
まずはプラグインと基本情報を定義しましょう。Jakarta EEアプリケーションではwarプラグインが必須となります。javaプラグインも併用します。
plugins {
id 'java'
id 'war'
}
group = 'com.example'
version = '1.0.0'
groupはパッケージ名、versionはアプリのバージョン管理に使われます。
3. 使用するリポジトリを指定する
Jakarta EEのAPIを取得するためには、Maven Centralをリポジトリとして指定します。これは多くのJavaライブラリが公開されている中央のリポジトリです。
repositories {
mavenCentral()
}
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のバージョンを明示的に指定しよう
Javaのソースコードとバイナリの互換性を保つために、Javaのバージョンを指定します。Jakarta EE 10以降はJava 11以上が必要であり、Java 17を使うのが一般的です。
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
この指定により、コンパイル時のトラブルを防ぎ、Jakarta EEに最適化されたコードを安定してビルドできます。
6. WARファイルをビルドする設定と出力先
warプラグインを適用することで、Gradleは自動的にWebアプリケーション用の.warファイルを生成します。出力先はbuild/libsディレクトリとなります。
./gradlew build
ビルド後に生成される.warファイルは、PayaraやWildFlyといったJakarta EE対応のアプリケーションサーバーへデプロイすることができます。
7. Jakarta EEとGradleを使った開発を快適に進めるコツ
Jakarta EEでWebアプリケーションを開発する際、build.gradleの設計は非常に重要です。Gradleは軽量で高速なビルドツールとして、Jakarta EEのビルドに最適な選択肢です。特に依存関係の柔軟な管理ができる点や、設定ファイルがシンプルに保てる点が初心者にとっても扱いやすいメリットになります。
また、アプリケーションサーバーごとに対応しているJakarta EEのバージョンが異なるため、jakartaee-web-apiのバージョンもそれに合わせて調整する必要があります。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も必ず扱えるようになるよ。」