| この記事の要点 |
|---|
|
前提
このページは2018年当時の画面を残した、Struts 1.3.10の旧環境向け手順です。 Apacheの公式案内ではStruts 1の保守終了と新規採用非推奨が明記されています。既存システムを調べる参考として利用し、現在の新規プロジェクトへそのまま導入しないでください。
画像7枚と当時の手順は維持しています。JDK・Tomcat・Servlet API・Eclipse・プラグイン・依存JARの版を先に記録し、インターネットへ公開しない検証環境で再現します。以下は現行のマーケットプレースで同じプラグインが入手できることを保証する説明ではありません。
Eclipse (Pleiades)の導入が済んでいる。
※導入が済んでいない方はこちら。
プロジェクトの作成
eclipseの「ファイル」→「新規」→「その他」を開きます。
「Java」→「Tomcatプロジェクト」を選択します。
「プロジェクト名」は適当なものを入力してください。

入力し終えたら「完了」ボタンを押しましょう。
Strutsのダウンロード
公式サイトからStrutsをダウンロードします。
当記事ではStruts1の導入方法を紹介するので2.Xではなく1.Xをダウンロードしましょう。
Full Distributionを選択します。これは当時の配布物の選び方です。公式配布元・版・署名やチェックサムを確認し、出所不明の再配布ファイルを使わないでください。現行のApache Struts公式サイトとStruts 1の旧資料を区別します。
Strutsの導入
Strutsのライブラリをプロジェクトに導入しましょう。
Strutsのライブラリはダウンロードしたファイルを解凍し、「apps」フォルダにある「struts-blank-1.3.10.war」を解凍した中身を入れれば楽です。
warファイルを解凍するソフトがない場合は「.war」の部分を「.zip」に書き換えてから解凍しましょう。
下の図は空の学習用プロジェクトへ配置した例です。既存プロジェクトへはバックアップと差分確認を行い、WEB-INF/lib・web.xml・struts-config.xmlを無条件に上書きしないでください。設定・既存ライブラリとの重複や版の整合性を確認して必要なものを組み込みます。

クラスパスの設定
「プロジェクト名」を右クリックして「ビルド・パス」→「ビルド・パスの構成」を選択します。

「ライブラリー」タブを押してから「JARの追加」を選択します。
先ほどコピーしたStrutsのライブラリをすべて選択してOKボタンを押しましょう。

メッセージリソースの変更
次の変更はリソースがjava/MessageResources.propertiesとしてクラスパスにある場合の例です。parameterはファイルの配置に対応するリソース名です。MessageResources.propertiesがクラスパス直下ならMessageResourcesのままでよく、すべての環境でjava.を付けるものではありません。ソースフォルダにあるだけでなく、配備後のWEB-INF/classesなどに実ファイルが含まれるか確認してください。
「プロジェクト名」→「WEB-INF」→「struts-config.xml」にある以下の部分を探してください。
| <message-resources parameter="MessageResources" /> |
これを
| <message-resources parameter="java.MessageResources" /> |
に変更しましょう。
Tomcatの起動
Tomcatの起動ボタンを表示させましょう。
マーケットプレースを開きます。
eclipseの「ヘルプ」→「Eclipse マーケットプレース」を選択しましょう。

「Eclipse Tomcat Plugin」と入力して検索をしましょう。
該当するものをインストールしましょう。

eclipseを再起動させるとツールバーに起動ボタン等が出現します。

一番左の起動ボタンを押してください。
コンソールに以下の文言が出現すれば起動完了です。
| 情報: Server startup in 14485 ms [木 3 29 22:23:58 JST 2018] |
適当なブラウザで「http://localhost:8080/プロジェクト名」にアクセスしましょう。
以下のWelcome表示はblankアプリへ到達した確認です。業務Action、フォーム入力、メッセージリソース、エラー処理まで正しく動作した証明ではありません。
| Welcome!
To get started on your own application, copy the struts-blank.war to a new WAR file using the name for your application. Place it in your container's "webapp" folder (or equivalent), and let your container auto-deploy the application. Edit the skeleton configuration files as needed, restart your container, and you are on your way! (You can find the MessageResources.properties file with this message in the /WEB-INF/src folder.) |
旧環境を確認するときのチェックリスト
- 起動ログで使われたJDK・Tomcatと、アプリの実際のコンテキストパスを確認します。URLのプロジェクト名は配備名に合わせます。
- WEB-INF/libに必要なJARが入り、同じライブラリの異なる版が混在していないか確認します。
- WEB-INF/web.xmlが使うServlet APIとコンテナの対応を確認します。Tomcat 10ではjavax.servletからjakarta.servletへの変更があり、旧WARを設定なしでそのまま動かせる前提にしません。
- 起動完了のログだけでなく、該当URLのレスポンス・フォーム処理・表示したいリソースを検証します。
- 設定やライブラリの変更内容を版管理し、検証結果と戻す手順を記録します。新規構築では保守されている選択肢を検討します。
Struts 1から別のフレームワークへの移行は、JARを交換するだけの変更ではありません。Action・ActionForm・設定・ビュー・認証などの対応を設計し、検証環境で移行してください。
フォーム生成でエラーが出る場合はcreateActionFormのNullPointerException診断へ進めます。このページの旧IDE/プラグイン環境全体の起動は今回未検証であり、導入の動作保証ではありません。
公式資料: Tomcatのjavaxからjakartaへの変更(2026年10月確認)。Struts 1の保守状況は冒頭のApache公式案内を参照してください。
メッセージリソース名と配置の対応は、Struts 1.3.10 PropertyMessageResourcesの実装でも確認できます。今回、クラスパス直下とjava/下のリソースをそれぞれ対応する名前で読み込めることを単体検証しました。
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15