我有一个这样的绑定文件
<jxb:bindings version="2.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <jxb:bindings schemaLocation="example.xsd" node="/xs:schema"> <jxb:schemaBindings> <jxb:package name="example" /> </jxb:schemaBindings> <jxb:globalBindings> <jxb:javaType name="java.util.Calendar" xmlType="xs:dateTime" parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime" printMethod="javax.xml.bind.DatatypeConverter.printDateTime" /> <jxb:javaType name="java.util.Calendar" xmlType="xs:date" parseMethod="javax.xml.bind.DatatypeConverter.parseDate" printMethod="javax.xml.bind.DatatypeConverter.printDate" /> <jxb:javaType name="java.util.Calendar" xmlType="xs:time" parseMethod="javax.xml.bind.DatatypeConverter.parseTime" printMethod="javax.xml.bind.DatatypeConverter.printTime" /> </jxb:globalBindings> </jxb:bindings> </jxb:bindings>
模式类在“示例”(正确)中生成,而XmlAdapters在“ org.w3._2001.xmlschema”中(错误)。我怎样才能解决这个问题?
我也有这个问题,使用this解决了。
基本前提是您在XJC编译中包括一个具有以下内容的模式:
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"> <annotation><appinfo> <jaxb:schemaBindings> <jaxb:package name="org.acme.foo"/> </jaxb:schemaBindings> </appinfo></annotation> </schema>
然后,将软件包名称调整为要放置生成的适配器的位置。XJC会相信此模式是W3C XML Schema本身的模式集的一部分,并将遵守其中的绑定。