Maven3 で war ファイルをビルドする。
スポンサーリンク
事前条件:
- Eclipse-4.2 (Juno)
- m2e プラグインをインストール済み。
- "Dynamic Web Project"(動的 Web プロジェクト)を作成済み。
- Maven-3.0.4
- Tomcat-7.0.33
- ホスト名"localhost"、ポート番号"8080"で起動済み。
まずハマったのは、pom.xml の書き方。
…
war
…
…
…
org.apache.maven.plugins
maven-war-plugin
${basedir}/WebContent
…
…
…
まず、packaging に war を指定しないと、"mvn war:war"を実行した時に、
[INFO] Skipping non-war project
というメッセージが出力されて、war ファイルのビルドがスキップされてしまう。
それから、warSourceDirectory を指定したのは、Eclipse 上で「動的 Web プロジェクト」を作成した時のディレクトリ階層が、Maven の想定と異なるため。
例えば、Web コンテキストのルートディレクトリは以下の通りになる。*1
webXml も指定している例も見かけたけど、私の環境では warSourceDirectory を指定しただけで大丈夫だった。