JaxB无法序列化

时间:2014-09-19 11:15:02

标签: java ant jaxb

我正在使用Ant,现在我需要生成应该实现java.io.Serializable接口的类。我使用绑定文件生成可序列化的类,我使用dtd来定义类。但是,xjc抛出错误[xjc] [错误] cvc-elt.1:无法找到元素&j; 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>

请建议出路

1 个答案:

答案 0 :(得分:1)

您的问题是您正在使用DTD。 DTD来自史前时代,绑定文件当时有different format

尝试类似:

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

这是DTD example from the RI

祝你好运。 然后切换到XSD。 :)