Webアプリ開発のTIPS
サードパーティライブラリ
maven2に対応していないライブラリの場合は、ローカルリポジトリに登録する作業が必要だったりします。
http://wiki.fdiary.net/maven2/?CookBook#l13
でも、maven-archetype-webappなmavenプロジェクトであれば次のようなさぼり技が使えます。
- src/main/webapp/WEB-INF/lib配下にmaven2非対応ライブラリのjarファイルを格納する。
これだけです。
後はいつものようにmvn packageなどでパッケージングするだけ。
そうすると、src/main/webapp/WEB-INF/libの中身がtarget/
「後」と「上書き」というところがポイントで、pom.xmlの依存ライブラリで指定されたものがlib配下に含まれていても、ローカルリポジトリから再度取得されて上書きされます。同名のファイルがlib配下に存在していてもpom.xmlでの設定の方が優先されるわけです。
Eclipseのビルドパス
上記の場合、Eclipseでコンパイルするためにビルドパスにsrc/main/webapp/WEB-INF/lib配下の個々のライブラリを指定しておく必要があります。
しかしこれ、mvn eclipse:eclipseをするたびにクリアされてしまうので(M2_REPO系のライブラリ設定が更新される代わりに独自に追加したものは消えてしまう)、実際のところpom.xmlの依存ライブラリを更新するたびに、mvn eclipse:eclipse → ビルドパス再設定を行う必要があります。
ちょっと面倒ですが、(s2buriとか)maven2非対応のライブラリ数が多い場合、1つずつローカルリポジトリに登録するよりはましかなと今のところ割り切って使っています。