取消注释1和4是使用Groovy设置JAXB的正确方法。它不起作用的原因是每个Groovy类都具有metaClass属性。JAXB试图将其公开为显然失败的JAXB属性。由于您自己没有声明metaClass属性,因此无法对其进行注释以使JAXB忽略它。而是将XmlAccessType设置为NONE。这将禁用JAXB的属性自动发现以将其公开为XML元素。之后,您需要显式声明要公开的任何字段。
例:
@XmlAccessorType( XmlAccessType.NONE )@XmlRootElementpublic class PlayerGroovy { @XmlAttribute String value}


