如何使用jaxb和Ant xjc任务处理多个xsd模式?

dm7*_*m76 9 ant xsd jaxb xjc

我正在使用jaxb从Ant脚本中的xml模式生成java对象类,如下所示:

<!-- JAXB compiler task definition -->
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask"
                    classpathref="master-classpath"/>

<!-- Generates the source code from the ff.xsd schema using jaxb -->
<target name="option-generate" description="Generates the source code">
    <mkdir dir="${generated-src.dir}/${option.dir}"/>
    <xjc schema="${config.dir}/ff.xsd" destdir="${generated-src.dir}"
         package="${option.package.name}">
        <arg value="-Xcommons-lang" />
        <arg value="-Xcommons-lang:ToStringStyle=SHORT_PREFIX_STYLE" />
        <produces dir="${generated-src.dir}" includes="**/*.java" />
    </xjc>
</target>
Run Code Online (Sandbox Code Playgroud)

现在,这对于一个模式(在此示例中为ff.xsd)非常有效.如何处理多个模式(即几个xsd文件)?

我尝试了每个模式有一个单独的ant任务,但不知何故,这不能用作Ant处理第一个任务,然后说下面的模式的"文件是最新的"!

max*_*dim 11

<target name="process-resources" description="Process resources">
    <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask"/>
    <xjc destdir="${basedir}/target/generated-sources/jaxb"
         extension="true">
        <schema dir="src/main/xsd" 
                includes="JaxbBindings.xsd,CoreTypes.xsd"/>
    </xjc>
</target>
Run Code Online (Sandbox Code Playgroud)