【问题标题】:superclass missing during xjc class generation;hierarchy inconsistency errorxjc 类生成期间缺少超类;层次结构不一致错误
【发布时间】:2012-08-23 08:06:26
【问题描述】:

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

提前致谢

【问题讨论】:

    标签: java jakarta-ee jaxb xjc


    【解决方案1】:

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

    【讨论】:

    • 我给出的命令和上面的完全一样。没有扩展参数,我有错误。也许我没有得到你的问题?我是否明白必须给我这个超类,所以我可以将它与 xjc 编译器的类路径参数一起使用来生成扩展这个超类的所有类??
    • 全局绑定属性中的collectionType类呢?我也应该有这样的课程还是会生成它?
    • @user907810 - 你也需要这个类。如果您没有在绑定文件中指定类,那么您可能需要删除相应的条目。他们不需要生成模型。它们只是影响模型生成方式的自定义。
    • collectionType 中提到的类呢?我打电话给我们的客户,他们也说我不需要超类。编译的命令是什么?和上面的一样吗?我也可以在eclipse而不是命令行上做吗?
    • @user907810 - 以下内容应该有所帮助 (blog.bdoughan.com/2010/09/processing-atom-feeds-with-jaxb.html),如果您使用的是 Eclipse Juno Java EE 版本,您可以在 XML 模式上 right click,然后在 Generate | JAXB Classes....
    猜你喜欢
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多