pom.xml に maven-antrun-plugin の設定を追加します。
ant への依存性と s2jdbc-gen-build.xml へのパスを指定し、実行するターゲット名は環境変数として受け取れるよう設定します。
また、s2jdbc-gen-build.xml にて maven クラスパスを参照できるよう、inheritRefs 属性に true を指定します。
(snip)
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.7.0</version>
</dependency>
</dependencies>
<configuration>
<tasks>
<ant antfile="${basedir}/s2jdbc-gen-build.xml" inheritRefs="true">
<target name="${ant.target}" />
</ant>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</plugin>
</plugins>
</build>
(snip)
s2jdbc-gen そのものへの依存性も忘れずに追加します。ぼくが親切にこういうことを書くときは、忘れて痛い目を見たときです。
(snip)
<dependency>
<groupId>org.seasar.container</groupId>
<artifactId>s2jdbc-gen</artifactId>
<version>2.4.40</version>
</dependency>
</dependencies>
(snip)
pom.xml と同様に、プロジェクトディレクトリ直下に s2jdbc-gen-build.xml を以下の内容で作成します。
taskdef では、maven クラスパスから s2jdbc-gen-task.properties を探してタスク定義として読み込むよう指定しています。
xml version="1.0"
<project name="s2jdbc-gen">
<target name="init">
<property name="version" value="latest" />
<property name="classpathdir" value="target/classes" />
<property name="rootpackagename" value="jp.forest.test" />
<property name="entitypackagename" value="entity" />
<property name="javafiledestdir" value="src/main/java" />
<property name="testjavafiledestdir" value="src/test/java" />
<property name="javafileencoding" value="UTF-8" />
<property name="env" value="ut" />
<property name="jdbcmanagername" value="jdbcManager" />
<taskdef
resource="s2jdbc-gen-task.properties"
classpathref="maven.runtime.classpath"/>
</target>
<target name="gen-entity" depends="init">
<gen-entity
rootpackagename="${rootpackagename}"
entitypackagename="${entitypackagename}"
javafiledestdir="${javafiledestdir}"
javafileencoding="${javafileencoding}"
env="${env}"
jdbcmanagername="${jdbcmanagername}"
classpathref="maven.runtime.classpath" />
</target>
</project>
同様にして gen-service タスクや gen-names タスクを追加することができます。
コアタスク、オプションタスクの一覧は s2jdbc-gen のドキュメント に記載されています。
実行
jdbc.dicon, s2jdbc.dicon にデータベース接続情報を設定したら、コマンドプロンプトより mvn antrun:run を実行します。
mvn antrun:run -Dant.target=gen-entity