JaxB无法序列化



我正在使用Ant,现在我需要生成应该实现java.io.Serializable接口的类。我使用绑定文件来生成可序列化的类,并使用dtd来定义这些类。但是,xjc抛出错误[xjc][error]cvc-elt.1:找不到元素"jxb:bindings"的声明。我将绑定文件作为参数传递给xjc任务:

        <arg value="-b"/>
        <arg file="../WebContent/DTD/bindings.xjb"/>

这是我的绑定文件

<jxb:bindings 
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    jxb:extensionBindingPrefixes="xjc"
    version="2.0">

    <jxb:globalBindings>
        <xjc:serializable/>
    </jxb:globalBindings>
</jxb:bindings>

请建议的出路

您的问题是使用了DTD。DTD来自史前时代,绑定文件当时有不同的格式。

试试类似的东西:

<xml-java-binding-schema xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
  <xjc:serializable/>
</xml-java-binding-schema>

下面是RI的DTD示例。

祝你好运。并切换到XSD。:)

相关内容

  • 没有找到相关文章

最新更新