1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Java】Eclipse2025でStruts2(ver 6系)プロジェクト作成[Tomcat9使用]

Last updated at Posted at 2026-01-02

image.png

今回は、Eclipse2025でWebサーバ「Tomcat9」を使ってStruts2プロジェクトを作成する手順を紹介します。
ビルドツールは、Mavenを使います。

手順

手順1:Mavenプロジェクトの作成

Eclipse2025を起動して、[ファイル]⇒[新規]⇒[Mavenプロジェクト]を選択します。
Struts1.png

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

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

※「struts2」が表示されないときの対処法

Eclipse2025の設定では、検索欄に「strats2」を入力しても表示されない場合があります。
(原因)
Eclipse2025のArchetypeカタログが更新されていないためstruts2-archetype-starterが表示されません。

なので、Archetypeカタログが更新していきましょう。
[新規mavenプロジェクト]画面のアーキタイプ選択欄の[構成(Configure)]をクリックします。
Struts2が表示されない対処法1.png

「アーキタイプ」画面の[リモートカタログの追加]ボタンを選択します。
Struts2が表示されない対処法2.png

「リモート・アーキタイプ・カタログ」画面でそれぞれ下記の項目を入力します。

項目 
カタログ・ファイル(Catalog File)  https://repo.maven.apache.org/maven2/archetype-catalog.xml
説明(Description)  Maven Central

ちなみに、👆のarchetype-catalog.xmlの中身は下記です👇。
archetype catalog

image.png

「カタログ・ファイル(Catalog File)」と「説明(decsription)」欄それぞれ入力したら、[OK]ボタンをクリックします。
Struts2が表示されない対処法3.png

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

以上の設定すれば、アーキタイプカタログに「struts2」が表示されるようになります。

プロジェクト情報の入力

下記のようにstruts2-archetype-starterを選択して、[次へ]ボタンをクリックしたら、
Struts3.png

プロジェクト情報を入力する画面に遷移します。
それぞれ下記の情報を入力しましょう。(※下記の表は入力の一例です)
グループId(Group Id)」と「アーティファクトId(Group Id)」は、プロジェクトに合わせて任意の値を入力してください。
バージョン(Version)」と「パッケージ(Package)」は、自動で入力されるため変更する必要はありません。

項目
グループId(Group Id) com.example
アーティファクトId(Group Id) StrutsApp
バージョン(Version) 1.0.0-SNAPSHOT
パッケージ(Package) StrutsApp

Struts4.png

入力が完了したら、[完了]ボタンをクリックしましょう。

すると、Eclipseのコンソールには下記のようなプロンプトが実行されます。
Struts5.png

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

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

コンテキスト・ルートの更新

アプリを機度数る前に、コンテキスト・ルートを更新します。

手順1:プロパティーを開く

プロジェクトの上で右クリックして⇒[プロパティー]を選択します。
Struts8(コンテキストト修正).png

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

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

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

Tomcat 9.x系にデプロイする

今のpom.xmlでは、下記のようになっています。

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系を使用します。

image.png

すると、サーバが起動して下記のページが表示されれば完成です。
image.png
image.png

Tomcat 10系にデプロイする場合

jakarta に完全移行する(Struts2 6 正式対応)
① pom.xml を修正

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>

❌ 以下は 削除します。

pom.xml
<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.xmljakartaに修正

web.xml
<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プロジェクトを作成する

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?