我是 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 不生成超类,如果我不手动创建随机超类,怎么能解决这个问题?
提前致谢