使用XJC2Task生成Java类时,是否可能为每个complexType生成额外的子包?
我有一个从xsd生成的问题,其中我有一个名为Traveler的complexType,其中有一个名为“ ElementNumber”的元素。
而且还有一个名为TravellerElementNumber的complexType。
生成错误消息时,出现错误“两个声明在ObjectFactory类中引起冲突。
有什么方法可以在不更改xsd的情况下解决此问题?
最好的祝福,
斯蒂
不,您不能为复杂类型OOTB生成子包。
是的,您可以在不更改架构的情况下对其进行修复。使用jaxb:factoryMethod
绑定元素。
范例:
<jaxb:bindings version="1.0" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jaxb:bindings
schemaLocation="ogc/gml/3.1.1/base/feature.xsd"
node="/xs:schema">
<jaxb:bindings node="xs:element[@name='_FeatureCollection']">
<jaxb:factoryMethod name="AFeatureCollectionElement"/>
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>
您必须将绑定指向发生冲突的元素之一。不要忘记包含绑定文件(请参见本示例)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句