我正在使用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。:)