今回は、Eclipse2025でWebサーバ「Tomcat9」を使ってStruts2プロジェクトを作成する手順を紹介します。
ビルドツールは、Mavenを使います。
手順
手順1:Mavenプロジェクトの作成
Eclipse2025を起動して、[ファイル]⇒[新規]⇒[Mavenプロジェクト]を選択します。

「新規Mavenプロジェクト」画面が表示されます。
チェックボックスの[シンプルなプロジェクトの作成(アーキタイプ選択のスキップ)(英訳:Create a simple project (skip archetype selection)]はチェックせずに[次へ]ボタンをクリックします。

Archetype(ひな形)の選択をします。
検索欄に「struts」を入力します。
候補の中から「struts2-archetype-starter」を選択します。

※「struts2」が表示されないときの対処法
Eclipse2025の設定では、検索欄に「strats2」を入力しても表示されない場合があります。
(原因)
Eclipse2025のArchetypeカタログが更新されていないため、struts2-archetype-starterが表示されません。
なので、Archetypeカタログが更新していきましょう。
[新規mavenプロジェクト]画面のアーキタイプ選択欄の[構成(Configure)]をクリックします。

「アーキタイプ」画面の[リモートカタログの追加]ボタンを選択します。

「リモート・アーキタイプ・カタログ」画面でそれぞれ下記の項目を入力します。
| 項目 | 値 |
|---|---|
| カタログ・ファイル(Catalog File) | https://repo.maven.apache.org/maven2/archetype-catalog.xml |
| 説明(Description) | Maven Central |
ちなみに、👆のarchetype-catalog.xmlの中身は下記です👇。
archetype catalog
「カタログ・ファイル(Catalog File)」と「説明(decsription)」欄それぞれ入力したら、[OK]ボタンをクリックします。

前画面に戻ると、アーキタイプ欄に「Maven Central」が追加されます。
確認出来たら、[適用して閉じる]ボタンをクリックします。

以上の設定すれば、アーキタイプカタログに「struts2」が表示されるようになります。
プロジェクト情報の入力
下記のようにstruts2-archetype-starterを選択して、[次へ]ボタンをクリックしたら、

プロジェクト情報を入力する画面に遷移します。
それぞれ下記の情報を入力しましょう。(※下記の表は入力の一例です)
「グループId(Group Id)」と「アーティファクトId(Group Id)」は、プロジェクトに合わせて任意の値を入力してください。
「バージョン(Version)」と「パッケージ(Package)」は、自動で入力されるため変更する必要はありません。
| 項目 | 値 |
|---|---|
| グループId(Group Id) | com.example |
| アーティファクトId(Group Id) | StrutsApp |
| バージョン(Version) | 1.0.0-SNAPSHOT |
| パッケージ(Package) | StrutsApp |
入力が完了したら、[完了]ボタンをクリックしましょう。
すると、Eclipseのコンソールには下記のようなプロンプトが実行されます。

コンソールの最下部までスクロールすると、「構成の確認(Confirm Properties configuration)」が表示されますので、Yesを表す「Y」を入力して「Enter」キーを押します。

しばらくすると、「Build Success」がコンソールに表示されればプロジェクトの作成が完了です。

コンテキスト・ルートの更新
アプリを機度数る前に、コンテキスト・ルートを更新します。
手順1:プロパティーを開く
プロジェクトの上で右クリックして⇒[プロパティー]を選択します。

左メニューの[Webプロジェクトの設定]選択します。
すると、コンテキスト・ルートは、デフォルトではstruts2-archetype-starterになっています。

デフォルトのコンテキストルートを、今回作成したプロジェクト名(例:StrutsApp)に変更します。
その後、[適用して閉じる]ボタンを押します。

すると、「コンテキスト・ルートの名前変更」画面が表示されるので、[OK]ボタンを押します。

Tomcat 9.x系にデプロイする
今のpom.xmlでは、下記のようになっています。
//(略)
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
//(略)
TomcatとServletAPIのバージョンが違うと、サーバが起動せずに404エラーが発生します。
Tomcat と Servlet API の対応表
| Tomcat | Servlet API |
|---|---|
| Tomcat 9 まで | javax.servlet.* |
| Tomcat 10 以降 | jakarta.servlet.* |
Tomcat と Servlet API の対応表とpom.xmlからわかるように、Webサーバは、Tomcat 9.x系を使用します。
すると、サーバが起動して下記のページが表示されれば完成です。


Tomcat 10系にデプロイする場合
jakarta に完全移行する(Struts2 6 正式対応)
① pom.xml を修正
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>3.0.0</version>
<scope>provided</scope>
</dependency>
❌ 以下は 削除します。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
②web.xmlもjakartaに修正
<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">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
③ Clean & 再デプロイ(必須)
■Tomcat Stop
■Tomcat Clean
■Maven → Update Project
■Tomcat 再起動
サイト
Struts2について
【Java】Apache Strutsに関する情報まとめ
Struts2入門(2023年最新版)
【2024年保存版】Apache Strutsの完全ガイド:導入から実践まで13のステップ
Strust2公式
JakartaEEについて
【Java】Eclipse2025でJakartaEEプロジェクトを作成する



