hakobera's blog

技術メモ。たまに雑談

SAStruts + S2JDBC の開発環境を maven2 + WTP で構築する手順 その2

SAStruts + S2JDBC の開発環境を maven2 + WTP で構築する手順 - Scalaとlift のはずだった ・・・

↑の後日談。
Dolteng 0.37.0 がリリースされて、前回のエントリーで書いた maven との相性問題も解消されていて、快適になってました。着実に進歩していくプロダクトってすばらしいですね。

でも使っているうちに、2点だけ惜しい点がありました。

WTPとの相性

maveneclipse: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>

まぁ、これらの点はプロジェクトの管理の仕方(例えば、「ライブラリーも含めて管理したい」とか)にも依存していると思うので、後で書き足しでもよいかな、とも思います。

これでさらに快適に開発できます。