0
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?

📘 Vol.19:掲示板アプリ v2 Mavenプロジェクトの新規作成手順

Last updated at Posted at 2025-05-31

※本記事は、Vol.18「掲示板アプリ v2 の動作環境と使用ライブラリの整理」の続編として、EclipseでのMavenプロジェクトの作成手順をまとめたものです

🎯 本記事の目的

本記事では、掲示板アプリ v2 の開発を開始するにあたっての Eclipse での Maven プロジェクト作成手順を、図付きで解説します。

本シリーズでは、Vol.18で動作環境や使用ライブラリを整理しましたが、いよいよこの手順で開発用のプロジェクトベースを作成し、アプリ実装を開始していきます。

📝 前提知識

MavenやStruts2に関する基礎知識は、以下の記事をご参照ください。

✅ 手順概要

手順 内容
EclipseでMavenプロジェクトを新規作成
「ウィザードの選択」から Maven プロジェクトを選ぶ
「新規 Maven プロジェクト」ウィンドウ
アーキタイプの選択
プロジェクト情報の入力
コンソールでの確認メッセージを入力
プロジェクトが作成されたことを確認

🧭 Step-by-Step 解説

① Eclipseで新規Mavenプロジェクトを作成

  • メニュー「ファイル」→「新規(N)」→「その他(O)」をクリック
    画面項目.png

② 「ウィザードの選択」から Maven プロジェクトを選ぶ

  • 「Maven」→「Maven プロジェクト」を選択し、「次へ(N)>」をクリック
    画面項目2.png

③ 「新規 Maven プロジェクト」ウィンドウ

  • 「デフォルト・ワークスペース・ロケーションの使用」にチェックが入っていることを確認し、「次へ(N)>」

画面項目3.png

④ アーキタイプの選択

  • 「フィルター」に maven-archetype-webapp と入力して検索

  • 一覧から org.apache.maven.archetypes:maven-archetype-webapp を選択し、「次へ(N)>」

画面項目4.png

⑤ プロジェクト情報の入力

以下を入力します:

項目 入力値
Group Id com.company.bulletinboardv2
Artifact Id Bulletinboardv2
Version 0.0.1-SNAPSHOT(初期値のままでOK)
Package com.company.bulletinboardv2

→ 入力後「完了」ボタンをクリック

画面項目5.png

⑥ コンソールでの確認メッセージ

  • Y: と表示されたらキーボードで y を入力して Enter キー を押します。

画面項目7.png

⑦ プロジェクトが作成されたことを確認

  • Eclipse の「プロジェクト・エクスプローラー」に Bulletinboardv2 が表示されていれば成功です

画面項目8.png


🔧 おすすめの初期フォルダ構成整備手順(ビルドパスエラー解消)

❓ なぜビルド・パスエラーが出るの?
maven-archetype-webapp は最小限の構成で作成されるため、以下のフォルダが自動で作成されません:

  • src/main/java

  • src/main/resources

  • src/test/java

  • src/test/resources

そのため Eclipse では「ビルド・パスが欠落している」と表示されます。


✅ 解消方法:空のフォルダを作成する

  • プロジェクトに以下のフォルダを手動で追加してください:
Bulletinboardv2/
├── src/
│   ├── main/
│   │   ├── java/               ← Java ソースコード用
│   │   └── resources/          ← 設定ファイルなど
│   └── test/
│       ├── java/               ← 単体テスト用
│       └── resources/          ← テスト設定ファイル

※ フォルダは空のままでOK。これだけで Eclipse のビルドパスエラーが解消されます。


📁 最終的なフォルダ構成の例

Bulletinboardv2/
├── pom.xml                         ← Maven設定ファイル
├── src/
│   ├── main/
│   │   ├── java/                  ← ← Javaソースコード用
│   │   ├── resources/            ← ← 設定ファイルなど
│   │   └── webapp/
│   │       └── WEB-INF/
│   │           └── web.xml       ← ← Webアプリ設定
│   └── test/
│       ├── java/                 ← ← テストコード
│       └── resources/           ← ← テスト設定ファイル
└── target/                        ← ビルド成果物出力

🔄 補足:pom.xml の場所について

  • pom.xml は プロジェクト直下(Bulletinboardv2/) に正しく生成されていれば OK

  • 誤って target/ フォルダ内にある場合は、Maven プロジェクトとして認識されません


🎉 まとめ

  • maven-archetype-webapp では必要最小限の構成しか作成されない

  • 開発を始める前に、Java・Resource・Test系のフォルダを手動で作成しておくのがベスト

  • Eclipse で「ビルド・パスの欠落」が出ても焦らず、空のフォルダを追加すれば解消できる


✅今後の予定

Vol. タイトル案 内容
Vol.20 🔄 pom.xmlの依存ライブラリの自動解決設定 EclipseのMavenプロジェクトでpom.xmlの依存関係を自動解決させる方法(Maven → Update Projectなど)
Vol.21 共通基底クラス BaseAction の作成 Struts2 のすべてのアクションで共通化される処理(セッション取得・ログ出力など)をまとめる
Vol.22 ログイン機能①:web.xmlの作成とStruts2起動確認 web.xml の役割、Struts2フィルタの設定、起点としての重要性と動作確認
Vol.23 ログイン機能②:JSP画面の作成(ログインフォーム) /WEB-INF/jsp/login.jsp の作成、フォームタグの使用、Struts連携確認
Vol.24 ログイン機能③:struts.xmlのルーティング設定 struts.xml におけるアクションマッピングの基本とログイン機能の設定
Vol.25 ログイン機能④:LoginActionクラスの作成 ユーザーID・パスワードの受け取り/認証処理との接続/BaseAction継承の活用
Vol.26 ログイン機能⑤:DB接続クラスとDAO層の作成 JDBCもしくはMyBatisの設定/UserDaoの骨組み/テスト接続確認
Vol.27 ログイン機能⑥:DB準備(テーブル作成) ログイン用のユーザーテーブルを作成し、初期データ挿入まで
Vol.28 ログイン機能⑦:ユーザー認証処理の実装 DAOで取得したユーザー情報を用いてログイン成功・失敗の分岐を作成
Vol.29 ログイン機能⑧:管理者ポータル画面の作成と遷移 ログイン成功後に「管理者ポータル画面」に遷移/各管理機能(掲示板・ユーザー・スレッド・投稿)へのリンク設置
Vol.30 管理機能①:掲示板管理画面の一覧表示の実装 既存の掲示板データを管理者画面に一覧表示する/DAO・JSP連携の確認
Vol.31 管理機能②:掲示板作成機能の実装 掲示板作成フォームの作成/作成後に一覧に戻る処理の流れ/バリデーション準備
Vol.32 管理機能③:掲示板編集機能の実装 編集対象掲示板の選択/情報の取得と更新/セッション引き継ぎとJSP反映
Vol.33 管理機能④:掲示板削除機能の実装 削除ボタンの配置/アクション・DAOによる物理削除処理と画面更新
Vol.34 管理機能⑤:ユーザー管理画面の一覧表示の実装 登録ユーザーを一覧表示/ユーザー編集・削除への遷移ボタン設置
Vol.35 管理機能⑥:ユーザー作成機能の実装 新規ユーザー追加フォーム/パスワード・権限などのバリデーション
Vol.36 管理機能⑦:ユーザー編集・削除機能の実装 ユーザー情報の更新/削除による整合性チェックと処理
Vol.37 管理機能⑧:スレッド管理画面の一覧表示と削除機能 掲示板ごとのスレッド表示と削除(掲示板IDでの紐づけ確認)
Vol.38 管理機能⑨:投稿管理画面の一覧表示と削除機能 各スレッドに紐づく投稿を一覧で表示/不適切投稿の削除処理
Vol.39 ログイン機能⑨:JSP表示にユーザー名を連携 セッションから取得し、画面上にユーザー名を表示する方法の実装
Vol.40 ログイン機能⑩:軽微なユニットテストとデバッグ活用 EclipseのJUnit/デバッグビューの使い方/ログ確認方法
Vol.41 今後の拡張方針:一般ユーザーポータルと投稿機能の導入へ 一般ユーザー向け機能へと発展/掲示板閲覧→スレッド作成→投稿までの基本設計
0
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
0
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?