我的项目中有大量生成的类,这些类是使用xjc ant任务生成的。默认情况下,生成过程创建一个ObjectFactory.java类。我想知道是否有一种方法可以抑制ObjectFactory的创建,而不是生成一个jaxb.index文件。
我的理解是,jaxb.index比ObjectFactory更适合对象序列化和反序列化。
我正在使用Ant 1.10.3 & JAXB 2.3.0
谢谢。
发布于 2018-04-18 20:19:08
首先,一个警告:确保你知道自己在做什么。ObjectFactory有一些jaxb.index没有的特性(比如支持替代组)。因此,抑制ObjectFactory可能导致无法解析有效的XML。
现在,假设你知道自己在做什么,该如何做。
JAXB2基础包括一个生成jaxb.index的"JAXB索引“插件。Ant中的用法类似于:
<xjc destdir="${basedir}/target/generated-sources/xjc" extension="true">
<arg line="
-Xjaxbindex"/>
<binding dir="${basedir}/src/main/resources">
<include name="**/*.xjb"/>
</binding>
<schema dir="${basedir}/src/main/resources">
<include name="**/*.xsd"/>
</schema>
<!-- Plugins -->
<classpath>
<fileset dir="${basedir}/lib">
<!-- JAXB2 Basics library -->
<include name="jaxb2-basics-plugins-*.jar"/>
</fileset>
</classpath>
</xjc>要抑制ObjectFactory,只需删除生成的文件。
免责声明:,我是JAXB2 2-基础的作者。我不确定它是否适用于JAXB2.3.0。
https://stackoverflow.com/questions/49908220
复制相似问题