1

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

提前致谢

4

1 回答 1

1

该扩展旨在让您生成的类扩展现有类。您将需要提供此类。顺便说一句 - 您目前如何尝试使用此扩展程序?

于 2012-08-23T11:36:29.000 回答