如何指定用于 JAXB xjc 生成的类的 XmlAccessorType

Posted

技术标签:

【中文标题】如何指定用于 JAXB xjc 生成的类的 XmlAccessorType【英文标题】:How do you specify a XmlAccessorType to be used for JAXB xjc-generated classes 【发布时间】:2013-01-04 22:42:14 【问题描述】:

我正在使用 XML 模式并使用 xjc 生成要与 JAXB 一起使用的 java 文件。 生成的 java 文件指定了默认的 @XmlAccessorType(XmlAccessType.FIELD)。 我想更改它,以便生成的 java 文件具有 PROPTERY 访问注释( @XmlAccessorType(XmlAccessType.PROPERTY ) )并且没有在字段级别生成的 @XmlElement / @XmlAttribute 注释。 有没有办法通过自定义绑定文件来实现这一点?

【问题讨论】:

【参考方案1】:

您似乎无法通过绑定自定义来做到这一点。但是,如果您希望从一个 xjc 运行生成的所有类都具有 @XmlAccessorType(XmlAccessType.PROPERTY),您可以使用 xjc 的 propertyaccessors 扩展:

xjc -Xpropertyaccessors ...

您应该使用最新版本的 xjc,因为this plugin was not registered correctly as of as 2.2.4。

【讨论】:

以上是关于如何指定用于 JAXB xjc 生成的类的 XmlAccessorType的主要内容,如果未能解决你的问题,请参考以下文章

JDK Tools - xjc: 将 XML Schema 编译成 Java 类

JAXB XJC 代码生成 - Marshaller 生成的 xml 中缺少“schemaLocation”

来自JaxB类的DTD验证

如何使用 xjc工具 生成java

JAXB:如何在XSD中指定attr类型时更改XJC生成的类名?

XJC:从无效方案生成 JAXB 类