gpt4 book ai didi

java - schemagen.exe 不会跳过 @XmlTransient 注释类

转载 作者:行者123 更新时间:2023-11-30 12:00:50 24 4
gpt4 key购买 nike

我像这样注释了一个 XmlAdapter 类:

@XmlTransient
public class DateTimeXmlAdapter extends XmlAdapter<String, DateTime> {

但 schemagen.exe 生成

<xs:complexType name="xmlAdapter" abstract="true">
<xs:sequence/>
</xs:complexType>

所以没有逃课,这是我所期望的。 XmlAdapter 确实是我的 transient 类继承自的抽象类。我应该怎么办?

我在字段中引用 DateTimeXmlAdapter 的原因是:

@XmlElement(name="StartDatetime")
@XmlJavaTypeAdapter(DateTimeXmlAdapter.class)
protected DateTime startDatetime;

我认为这是正确的。

最佳答案

看起来您已经告诉 schemagen 为您的 java 包中的所有内容生成模式类型,包括 XmlAdapter 子类。因此,它会看到您的适配器类,它被标记为 @XmlTransient,因此不会为其生成模式类型。但是,它确实会为 XmlAdapter 本身生成架构类型。

您需要更改调用 schemagen 的方式,以便从代码生成中排除您的适配器类。 @XmlTransient 在这里不合适,所以从适配器类中删除它。

关于java - schemagen.exe 不会跳过 @XmlTransient 注释类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1487285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com