EAD xsd生成的JAXBException

时间:2013-06-18 15:45:53

标签: java xml jaxb xsd

  1. XSD来自:http://www.loc.gov/ead/ead.xsd
  2. JAXB命令:xjc ead.xsd -b ead.xjb
  3. ead.xjb:
    < bindings xmlns="http://java.sun.com/xml/ns/jaxb"
          xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
          xmlns:xs="http://www.w3.org/2001/XMLSchema"
          version="2.1" >
    < bindings schemaLocation="ead.xsd" version="1.0">
        < bindings node="//xs:complexType[@name='title']">
            < bindings node=".//xs:attribute[@name='type']">
                < property name="TAttribute"/>
            < /bindings>
        < /bindings>
    < /bindings>
    < /bindings>
     
  4. 异常
    parsing a schema...
    Exception in thread "main" java.lang.AssertionError: javax.xml.bind.JAXBException
    
    • with linked exception: [com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions com.sun.xml.bind.api.impl.NameConverter is an interface, and JAXB can't handle interfaces. this problem is related to the following location: at com.sun.xml.bind.api.impl.NameConverter at public com.sun.xml.bind.api.impl.NameConverter com.sun.tools.xjc.reader.xmlschema.bindinfo.BIGlobalBinding.nameConverter at com.sun.tools.xjc.reader.xmlschema.bindinfo.BIGlobalBinding ] at com.sun.tools.xjc.reader.xmlschema.bindinfo.BindInfo.getCustomizationContext(BindInfo.java:356) at com.sun.tools.xjc.reader.xmlschema.bindinfo.BindInfo.getCustomizationUnmarshaller(BindInfo.java:362)
  5. 可能出现什么问题?

1 个答案:

答案 0 :(得分:3)

你使用的是哪个xjc? 我建议使用内置xjc的jdk1.6来生成所需的绑定。