我想用这个注释在我的 jaxb 生成的类中注释一个字段 - @XmlElement(required = false)。XSD 中的哪个属性会使用此注释生成我的字段?我不能手动输入这个,因为每次运行构建时都会使用 Maven 自动生成 JAXB 类。
我的 jaxb 版本是 xjc 2.2.4-2
谢谢
我想用这个注释在我的 jaxb 生成的类中注释一个字段 - @XmlElement(required = false)。XSD 中的哪个属性会使用此注释生成我的字段?我不能手动输入这个,因为每次运行构建时都会使用 Maven 自动生成 JAXB 类。
我的 jaxb 版本是 xjc 2.2.4-2
谢谢
当一个元素有minOccurs="0"
对应的@XmlElement
has required=false
。请注意,这false
是required
属性的默认值,因此它实际上可能不会出现在生成的注释中。
更新
根据您的评论:
让我解释一下我的实际问题。我正在使用 Jackson 从 JAXB 类生成 JSON。问题是当 xml 中不存在该元素时,我看到 json 输出的字段名称为“pip”,值为 null。我实际上希望我的 json 输出中不存在字段“pip”,因为我在 XSD 中声明它为 minOccurs=0。无法确定这是 JAXB 还是 Jackson 的问题。有趣的是,当我在 jaxb 类中使用 required=false 显式注释该字段时,我看到了我的预期输出,但该字段不存在
这是杰克逊没有正确处理注释required
上属性的默认值的问题。@XmlElement