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

MavenでJakarta EEプロジェクトを作る基本手順を完全ガイド!初心者でもわかる構成と設定

MavenでJakarta EEプロジェクトを作る基本手順
MavenでJakarta EEプロジェクトを作る基本手順

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

生徒

「Jakarta EEでWebアプリケーションを作りたいんですが、Mavenを使ってプロジェクトを作る方法が分かりません…」

先生

「MavenはJakarta EEプロジェクトを効率よく管理するためにとても便利なビルドツールですよ。ディレクトリ構成や依存関係の管理も自動化できます。」

生徒

「どうやってJakarta EE対応のプロジェクトをMavenで作ればいいのか、手順を教えてください!」

先生

「それでは、Mavenを使ったJakarta EEプロジェクトの基本的な作成方法を一つずつ見ていきましょう!」

1. Mavenとは?Jakarta EEとの関係

1. Mavenとは?Jakarta EEとの関係
1. Mavenとは?Jakarta EEとの関係

Maven(メイヴン)は、JavaやJakarta EEなどのプロジェクトを構築・管理するためのビルドツールです。Jakarta EEのWebアプリケーションを開発するとき、依存ライブラリの管理やディレクトリ構成の統一、WARファイルの自動生成などに使われます。

Jakarta EEプロジェクトでは、Mavenを使うことでServlet APIJSP APIなどの依存を簡単に追加でき、開発の効率が格段に上がります。

2. Jakarta EEプロジェクトの作成手順(Maven使用)

2. Jakarta EEプロジェクトの作成手順(Maven使用)
2. Jakarta EEプロジェクトの作成手順(Maven使用)

それでは、実際にMavenでJakarta EEプロジェクトを作成する手順を紹介します。以下の手順で構成していきましょう。

  • 1. Mavenインストールの確認
  • 2. プロジェクトの雛形作成
  • 3. pom.xmlの設定
  • 4. ディレクトリ構成の確認
  • 5. Jakarta EE依存の追加
  • 6. サーブレットなどの作成
  • 7. WARファイルのビルド
  • 8. PayaraやWildFlyでのデプロイ

3. Mavenインストールと確認方法

3. Mavenインストールと確認方法
3. Mavenインストールと確認方法

まずはMavenがインストールされているか確認しましょう。以下のコマンドでバージョン情報が表示されればOKです。


mvn -v

もしMavenがインストールされていない場合は、公式サイトから最新版をダウンロードし、環境変数PATHに追加してください。

4. MavenでJakarta EEプロジェクトの雛形を作る

4. MavenでJakarta EEプロジェクトの雛形を作る
4. MavenでJakarta EEプロジェクトの雛形を作る

Mavenのarchetypeコマンドを使えば、基本構成を自動生成できます。


mvn archetype:generate -DgroupId=com.example \
    -DartifactId=jakartaee-webapp \
    -DarchetypeArtifactId=maven-archetype-webapp \
    -DinteractiveMode=false

このコマンドを実行すると、Jakarta EE Webアプリケーションのテンプレートが生成されます。

5. Jakarta EE依存ライブラリの追加

5. Jakarta EE依存ライブラリの追加
5. Jakarta EE依存ライブラリの追加

次にpom.xmlを編集して、Jakarta EE用のライブラリを追加します。


<dependencies>
    <dependency>
        <groupId>jakarta.platform</groupId>
        <artifactId>jakarta.jakartaee-web-api</artifactId>
        <version>10.0.0</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

scopeprovidedにすることで、サーバーに既にあるライブラリを使用するよう設定できます。

6. ディレクトリ構成の確認

6. ディレクトリ構成の確認
6. ディレクトリ構成の確認

作成されたMavenプロジェクトは以下のような構成になります。


jakartaee-webapp/
├── src/
│   ├── main/
│   │   ├── java/          // Javaクラス
│   │   ├── resources/     // 設定ファイル
│   │   └── webapp/        // JSPやHTML
│   └── test/
│       └── java/          // テストコード
├── pom.xml                // Maven設定ファイル

src/main/webappWEB-INFディレクトリやweb.xmlを配置し、ServletやJSPのルーティング設定を行います。

7. Jakarta EEサーブレットの作成例

7. Jakarta EEサーブレットの作成例
7. Jakarta EEサーブレットの作成例

次に、Javaクラスとして簡単なサーブレットを作成します。


package com.example;

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

public class HelloServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.getWriter().println("Hello from Jakarta EE!");
    }
}

このサーブレットをweb.xmlでマッピングすることで、ブラウザからアクセスできるようになります。

8. WARファイルのビルドとデプロイ

8. WARファイルのビルドとデプロイ
8. WARファイルのビルドとデプロイ

プロジェクトのルートディレクトリで以下のコマンドを実行すると、WARファイルがtargetディレクトリに生成されます。


mvn clean package

生成されたjakartaee-webapp.warファイルを、Payara ServerWildFlyなどのJakarta EE対応アプリケーションサーバーにデプロイすれば、Webアプリケーションとして動作します。

9. Jakarta EE × Mavenを使うメリット

9. Jakarta EE × Mavenを使うメリット
9. Jakarta EE × Mavenを使うメリット

Jakarta EEとMavenを組み合わせることで、以下のようなメリットがあります:

  • ビルドやテストの自動化
  • 依存ライブラリのバージョン管理
  • チーム開発時の構成統一
  • CI/CDパイプラインへの連携も容易

Jakarta EE初心者にとっても、Mavenを使うことでプロジェクト全体を把握しやすくなり、トラブルも少なくなります。

まとめ

まとめ
まとめ

今回の記事では、Mavenを使ってJakarta EEプロジェクトを構築するための流れを、初心者にも理解しやすい形で整理しました。実際の現場でも、Jakarta EEによるWebアプリケーション開発ではMavenがほぼ必ず利用され、依存関係の管理やWARファイルの生成が効率よく行えることで開発スピードが大きく向上します。とくに、Jakarta EEのように多くのAPIやライブラリを扱う環境では、pom.xmlで依存を記述するだけで必要なライブラリが揃う仕組みが非常に便利で、作業ミスを減らしながら安定したプロジェクト構成を保つことができます。 さらに、Mavenによるプロジェクト雛形生成、標準化されたディレクトリ構成、Jakarta EE APIの追加方法、サーブレットの実装例、WARファイルの生成からアプリケーションサーバーへのデプロイまでの一連の流れを理解することで、Jakarta EE開発の基礎がしっかりと身につきます。特に、Jakarta EEでは多層的な処理が関わるため、プロジェクトの型がきちんと整っているだけで開発が非常に進めやすくなります。 Mavenは単なるビルドツールにとどまらず、バージョン管理やプラグイン拡張、CI/CDとの連携など、現代のWebアプリケーション開発に欠かせない役割を担っています。そのため、今回学んだ内容はJakarta EEに限らず、さまざまなJava開発でも応用でき、将来的に大規模なプロジェクトに参加する際にも非常に役立つスキルになります。ここでは理解を深めるため、記事で紹介した内容に沿って簡単なサンプルコードをあらためて記載します。

サンプルプログラム:pom.xmlでJakarta EE依存を追加した例


<dependencies>
    <dependency>
        <groupId>jakarta.platform</groupId>
        <artifactId>jakarta.jakartaee-web-api</artifactId>
        <version>10.0.0</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

サンプルプログラム:簡単なJakarta サーブレットの例


package com.example;

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

public class SampleServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException {
        response.setContentType("text/html; charset=UTF-8");
        response.getWriter().println("<h2>MavenとJakarta EEで作ったサーブレットです!</h2>");
    }
}

このように、プロジェクトの型を整え、pom.xmlに正しい依存を記述し、サーブレットを配置すれば、Jakarta EEのWebアプリケーションは動作します。Mavenを用いることで設定内容が明確になり、チーム開発でも統一した形で作業できるため、非常に強力な開発基盤を構築できます。さらに、MavenはPayaraやWildFlyなどのアプリケーションサーバーとの相性も良く、プラグインを使用すれば自動デプロイの環境整備も容易です。 本記事の流れを踏まえてプロジェクト作成を自分の手で行うことで、Jakarta EEのディレクトリ構成、依存追加、サーブレット実行などの理解が一段と深まります。最初は複雑に見えるかもしれませんが、一つひとつの手順に意味があり、それらが積み重なることで大規模開発にも耐えられる堅牢なアプリケーションが作れるようになります。ぜひ実際にMavenコマンドを打ちながら、Jakarta EEプロジェクトの構築を体験してみてください。

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

生徒

「Mavenを使うだけでJakarta EEのプロジェクト構成が整うのはすごく便利ですね!依存管理も全部pom.xmlに書けばいいのが分かってきました。」

先生

「その理解はとても大切です。MavenはJakarta EEだけでなくJava開発全体を支える基盤ですから、慣れておくと今後とても役立ちますよ。」

生徒

「WARファイルの生成も簡単で、アプリケーションサーバーへのデプロイまでの流れがつかめました!少しずつWeb開発ができそうです。」

先生

「その意識があれば次のステップもスムーズです。今後はフィルタやリスナーなど、Jakarta EEの仕組みにも触れていくとより理解が深まりますよ。」

生徒

「まずは今回の手順を参考にして、自分用のサンプルプロジェクトをいくつか作ってみます!」

先生

「とても良いですね。実際に手を動かすことで、Jakarta EEとMavenの使い方が自然と身につきますよ。」

カテゴリの一覧へ
新着記事
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で多言語対応(i18n)を徹底解説!Twirlテンプレートでの使い方
No.5
Java&Spring記事人気No5
Play Framework
Play FrameworkでCSSやJavaScriptを読み込む方法を徹底解説!静的リソースの組み込みガイド
No.6
Java&Spring記事人気No6
Jakarta EE
Jakarta サーブレットのHttpServletRequestを徹底解説!初心者でもわかる基本操作と使い方
No.7
Java&Spring記事人気No7
Jakarta EE
Jakarta EEの標準仕様とAPI一覧を完全解説!初心者でもわかるエンタープライズJavaの基本
No.8
Java&Spring記事人気No8
Jakarta EE
Jakarta EEとJava EEアプリの互換性を完全解説!移行で困らないための基礎知識