Я использую jaxb для генерации класса объекта Java от схем XML в скрипте Ant как так:
<!-- 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>
Теперь, это работает блестяще на одну схему (ff.xsd в этом примере). Как я могу обработать несколько схем (т.е. несколько xsd файлов)?
Я пытался иметь отдельную задачу Ant на схему, но так или иначе, это не работает процессом Муравья первая задача и затем говорит, что "файлы актуальны" для следующих схем!
<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>