我想让 XJC 在生成 bean 时在复杂类型中使用 javaType 标记。这是不允许的吗?我真的缺少好的文档和一些可以理解的错误消息。
这是我正在尝试的操作,但失败并出现错误:
- 编译器无法支持此转换自定义。它附加到错误的位置,或者与其他绑定不一致。
- (以上自定义附加到架构中的以下位置)
这是 XSD:
<xs:complexType name="MyMap">
<xs:annotation>
<xs:appinfo>
<xjc:javaType name="my.company.HashMapHidingGenerics" adapter="my.company.adapter.MyMapAdapter" />
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="entry" type="MyEntry"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MyEntry">
<xs:attribute name="someAttribute" use="optional"/>
</xs:complexType>
坏消息:<javaType>
仅支持简单类型(请参阅具有约束力的声明 http://www.huihoo.org/openweb/java_web_services_tutorial/JAXBusing4.html#wp148613 and 是否可以使用 JAXB 从模式映射到 java.util.Map? https://stackoverflow.com/a/1889584/267197).
但是,您可以通过使用来实现您所需要的@XmlAdapter http://blog.bdoughan.com/2010/07/xmladapter-jaxbs-secret-weapon.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)