我使用maven-antrun-plugin从thrift IDL生成源代码。
我有一个单独的项目(和jar)来保存这些生成的源,这个插件不支持通配符替换,所以我不能说* .thrift。
我使用执行任务来生成源并将它们复制到src目录。我有以下插件定义
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<mkdir dir="target/generated-sources" />
<exec executable="${thrift.executable}" failonerror="true">
<arg value="--gen" />
<arg value="java:beans" />
<arg value="-o" />
<arg value="target/generated-sources" />
<arg value="src/main/thrift/MyThriftResource.thrift" />
</exec>
<delete>
<fileset dir="src/main/java" includes="**/*" />
</delete>
<copy todir="src/main/java">
<fileset dir="target/generated-sources/gen-javabean" />
</copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
现在如果我想使用另一个thrift IDL,那么我需要为该特定文件再定义一次执行。我不想为每个添加的IDL做这个,我想说选择所有的thrift文件并生成源代码。有办法吗?