MavenでJakarta EEプロジェクトをセットアップする方法を完全解説!初心者でも簡単に構築できる
生徒
「Jakarta EEのプロジェクトをMavenで作るには、どこから始めればいいですか?」
先生
「MavenはJakarta EEの依存関係を簡単に管理できるビルドツールなので、とてもおすすめですよ。プロジェクトの初期構成も自動で作れます。」
生徒
「じゃあ、Mavenを使ってJakarta EEプロジェクトを作る手順を教えてください!」
先生
「わかりました。それでは、MavenでJakarta EEプロジェクトをセットアップする方法を一緒に確認していきましょう。」
1. Mavenとは?Jakarta EEとの相性も抜群
Maven(メイヴン)は、Javaのプロジェクト管理とビルドを自動化する人気のあるツールです。Jakarta EEのようなエンタープライズアプリケーション開発では、依存関係やビルドプロセスが複雑になるため、Mavenのようなビルドツールの導入は必須といっても過言ではありません。
Jakarta EEは、多数のAPIモジュール(Servlet、JSP、CDIなど)を利用するため、Mavenのpom.xmlファイルで依存ライブラリを明確に管理できるのが大きなメリットです。
2. Jakarta EE用のMavenプロジェクトを作成する方法
Jakarta EEのMavenプロジェクトは、次の手順で作成できます。
- Mavenがインストールされていることを確認
- コマンドラインでプロジェクトを作成
- 必要なJakarta EE依存を
pom.xmlに追加 - アプリケーションサーバーにデプロイ
以下は、コマンドでプロジェクトを作成する例です。
mvn archetype:generate -DgroupId=com.example.jakartaee \
-DartifactId=jakartaee-demo \
-DarchetypeArtifactId=maven-archetype-webapp \
-DinteractiveMode=false
このコマンドを実行すると、基本的なWebアプリケーション構成のMavenプロジェクトが生成されます。
3. Jakarta EEの依存関係をpom.xmlに追加しよう
次に、pom.xmlファイルにJakarta EEの依存ライブラリを追加します。Jakarta EE 10に対応するには、以下のような設定がおすすめです。
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-web-api</artifactId>
<version>10.0.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
scopeをprovidedにすることで、アプリケーションサーバーに依存ライブラリがすでに存在することを前提とした設定になります。
4. プロジェクト構成を確認しよう
Mavenで作成されたJakarta EEプロジェクトは、次のようなディレクトリ構成になります。
jakartaee-demo/
├── pom.xml
├── src
│ └── main
│ ├── java
│ ├── resources
│ └── webapp
│ └── WEB-INF
│ └── web.xml
このweb.xmlは、Jakarta EEアプリケーションのデプロイ設定に使われる重要なファイルです。
5. Jakarta EEプロジェクトをビルドしてWARファイルを生成
プロジェクト構成と依存設定が完了したら、次はビルドです。Mavenでビルドするには、以下のコマンドを実行します。
mvn clean package
[INFO] Building war: /path/to/project/target/jakartaee-demo.war
ビルドが成功すると、targetフォルダ内に.warファイルが生成されます。このWARファイルを、PayaraやWildFly、GlassFishといったJakarta EE対応のアプリケーションサーバーにデプロイすることで、Webアプリケーションが動作します。
6. Jakarta EEに対応したアプリケーションサーバーとの連携
Mavenで構築したJakarta EEプロジェクトは、どのアプリケーションサーバーでもデプロイ可能ですが、Jakarta EE 10に対応しているサーバーを使うことが重要です。主な選択肢は以下の通りです。
- Payara 6:Jakarta EE 10対応済み。Mavenとの連携がスムーズ。
- WildFly 27以降:最新のJakarta EE機能に対応。
- GlassFish 7:公式リファレンス実装。
これらのアプリケーションサーバーにWARファイルを配置することで、Jakarta EEアプリケーションが正常に起動します。
7. Jakarta EEの開発におけるMavenのメリット
最後に、Jakarta EEの開発においてMavenを使うメリットを確認しておきましょう。
- 依存関係の自動管理:Jakarta EEのAPIやライブラリを簡単に導入可能。
- 標準的なプロジェクト構成:チーム開発でも迷いなく構築可能。
- ビルド・デプロイが簡単:コマンドひとつでWARファイルが作成可能。
- 拡張性:プラグインを追加することで、JUnitやCheckstyleなどのツールも統合可能。
これからJakarta EEを学ぶ初心者の方には、Mavenを使った構成がとても学びやすく、保守もしやすいためおすすめです。