SAStrutsとMaven

前回q4eで無事依存関係の問題を解決出来た訳ですが、そのまますんなり起動まではしてくれませんでした。

今回はSAStrutsを使おうと思ってやっていたのですが、どうもTomcatからSAStrutsのライブラリ群が見えていないようです。

確かに、Mavenでライブラリをダウンロードしても、それは通常、C:\Documents and Settings\%ユーザー名%\.m2\repositoryにコピーされ、それをEclipseから参照しているだけなのでTomcatが知る由もありません。

Tomcatは(多分)WEB-INF/libの中を見るようになっていたはずなので、ここに手でコピーするのか?
と思ってググっていたところ、以下のページを見つけました。

Mavenでローカルに存在するjarをパッケージしてみる

http://d.hatena.ne.jp/nemuzuka/20090109/1231486987

へえ、そうなのかと思って早速導入してみました。で、起動できるようになったんかいなと思って
再度起動させてみるのですがまだ駄目で、原因を探っていたらどうもMavenが(プロジェクト内の)/target/WEB-INF/libにコピーしていたようです。
Mavenはbuild.directoryのデフォルト設定が「target」なので以下指定だと
そのままそこにコピーされてしまうようです。

<outputDirectory>
${project.build.directory}/${project.build.finalName}/WEB-INF/lib
</outputDirectory>

参考:
http://wiki.fdiary.net/maven2/?ParameterExpression
でなんとかPOMを修正して起動してみたら無事WEB-INF/libのライブラリをTomcatが見てくれるようになったのですが、
今度はSAStrutsでエラーが・・・。


Leave a Reply