我是JAXB的新手。对于一个项目,我获得了xsd的绑定文件,以便我可以使用模式类。 Jaxb绑定文件(mainbindings.xjb)如下所示:
<jxb:bindings version="2.0">
<jxb:bindings schemaLocation="main.xsd" node="/xsd:schema">
<jxb:globalBindings fixedAttributeAsConstantProperty="true" collectionType="com.example.Impl" choiceContentProperty="false" typesafeEnumMemberName="generateName" enableFailFastCheck="false" generateIsSetMethod="true" underscoreBinding="asWordSeparator">
<xjc:serializable uid="100"/>
<xjc:superClass name="com.example.mySuperClass"/>
<jxb:javaType name="java.util.Calendar" xmlType="xsd:dateTime" parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime" printMethod="javax.xml.bind.DatatypeConverter.printDateTime"/>
</jxb:globalBindings>
</jxb:bindings>
</jxb:bindings>
我在没有xjc编译错误的情况下生成了类:
xjc -b mainbindings.xjb -b main.xsd -extension
从这个站点,我了解到编译器不会生成超类: http://blog.frankel.ch/customize-your-jaxb-bindings
但是,当我在eclipse项目下复制这些类时,我发现大多数每个类都有以下错误: 类型的层次结构不一致
我搜索了这个错误并在此站点(http://java.syntaxerrors.info/index.php?title=Inconsistent_hierarchy)中发现,如果超类不存在,则弹出此错误。 我按照此处的建议尝试刷新,但错误仍然存在。
另外,如果xjc没有生成超类,那么如果不手动创建一个随机超类,如何解决这个问题?
提前致谢
答案 0 :(得分:1)
该扩展旨在让您生成的类扩展现有类。您需要提供此课程。顺便说一句 - 您目前如何尝试使用此扩展程序?