SAStruts + S2JDBC の開発環境を maven2 + WTP で構築する手順 その2
SAStruts + S2JDBC の開発環境を maven2 + WTP で構築する手順 - Scalaとlift のはずだった ・・・
↑の後日談。
Dolteng 0.37.0 がリリースされて、前回のエントリーで書いた maven との相性問題も解消されていて、快適になってました。着実に進歩していくプロダクトってすばらしいですね。
でも使っているうちに、2点だけ惜しい点がありました。
WTPとの相性
maven で eclipse:eclipse してしまうと、WEB-INF/lib 以下のライブラリーと mavenで生成されるWTPの外部参照定義が重複してエラーになる。maven で開発を続ける場合は、WEB-INF/lib 以下のライブラリーを削除しないといけない。(「maven で開発する」みたいなチェックがあって、その場合は lib のコピーがされない、とかいうのがあるといいかも)
S2JDBC-Gen の Ant のクラスパスの設定
S2JDBC-Gen は WEB-INF/lib 以下を Ant のクラスパスに設定してますが、上の問題と絡んで WEB-INF/lib 以下のライブラリーを削除してしまうと、今度は S2JDBC-Gen が実行できなくなってしまう。
とは言っても、いちいち lib 以下にライブラリーをコピーしてくるのは面倒なので、maven-dependency-plugin を利用する。以下の設定をして、lib フォルダーを subversion などのバージョン管理下からはずしておけばオッケー。
pom.xml を更新した場合には、一回 lib フォルダーを消して、mavn eclipse:eclipse します。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.0</version> <executions> <execution> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>lib</outputDirectory> <overWriteIfNewer>true</overWriteIfNewer> <overWriteReleases>true</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> </configuration> </execution> </executions> </plugin>
まぁ、これらの点はプロジェクトの管理の仕方(例えば、「ライブラリーも含めて管理したい」とか)にも依存していると思うので、後で書き足しでもよいかな、とも思います。
これでさらに快適に開発できます。