Helios から Eclipse Indigo に切り替えたばかりで、Tomcat 6 で WTP を使用して Maven 対応の Web プロジェクトを実行しようとすると、問題が発生しました。
Tomcat が Maven の依存関係を認識しないという古典的な問題が発生しています。Helios では、次の方法で Maven の依存関係を Deployment Assembly に追加することで回避できました: Project properties -> Deployment Assembly -> Add 'Java Build Path Entries' -> Maven Dependencies
残念ながら、「Java Build Path Entries」のオプションはリストされておらず、「フォルダー」と「プロジェクト」のみがリストされています。これが意図的なものなのか、それとも設定に問題があるのか はわかりません。
外的要因を取り除くために、次の設定を使用しています。
- Eclipse Indigo の新規インストール (Mac)
- 新鮮なワークスペース
- Eclipse マーケットプレイス経由でインストールされた m2e WTP 統合
- 新しい Maven プロジェクトを作成する
- いくつかの Maven 依存関係と、それらを使用するためのいくつかのコードを追加します。
- プロジェクトをファセット形式に変換する
- 「動的 Web モジュール」ファセットを追加
- Maven > プロジェクト構成の更新
- Tomcat 6 サーバーに追加する
- サーバー上で実行
この時点で、欠落している依存関係に関連する get ClassNotFoundException が表示されます。「mvn war:war」を実行し、アセンブルされた「WEB-INF/lib」ディレクトリをプロジェクトの展開アセンブリに含めると、もちろん、依存関係が正しく取得されます。簡単な修正には問題ありませんが、理想的ではありません。
同様の問題に関連して私が読んだ問題のほとんどは、WTP 統合モジュールの欠落が原因でしたが、それは私にとって問題ではないようです。
私は何か間違ったことをしていますか?