我想让XJC在生成bean时在complexType中使用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>
答案 0 :(得分:5)
坏消息:<javaType>
仅支持简单类型(请参阅 Binding Declarations和Is it possible to use JAXB to map from schema to a java.util.Map?)。
但是,您可以使用@XmlAdapter
来实现所需。