我注释了一个XmlAdapter类,如下所示:
@XmlTransient
public class DateTimeXmlAdapter extends XmlAdapter<String, DateTime> {但是schemagen.exe会生成
<xs:complexType name="xmlAdapter" abstract="true">
<xs:sequence/>
</xs:complexType>所以不会逃课,这是我所期望的。XmlAdapter确实是一个抽象类,我的瞬态类继承自它。我该怎么办?
我在字段中引用DateTimeXmlAdapter的原因是:
@XmlElement(name="StartDatetime")
@XmlJavaTypeAdapter(DateTimeXmlAdapter.class)
protected DateTime startDatetime;我认为这是正确的。
发布于 2009-09-29 08:58:18
看起来您已经告诉schemagen为java包中的所有内容生成模式类型,包括XmlAdapter子类。因此,它会看到您的适配器类,该适配器类被标记为@XmlTransient,因此不会为它生成模式类型。但是,它确实为XmlAdapter本身生成了一种模式类型。
您需要更改调用schemagen的方式,以便从代码生成中排除适配器类。@XmlTransient在这里不合适,所以从适配器类中删除它。
https://stackoverflow.com/questions/1487285
复制相似问题