我正在为使用schemagen的autmATED生成的XSD文件而苦苦挣扎。首先,我要说的是,我正在为大学的一个项目工作,除了注解之外,我不能对java类的代码进行任何更改……
所以,基本上我要做的就是重命名我的一些XmlElements,并将它们按一定的顺序排列。我想,我可以这样解决这个问题:
@XmlType(propOrder = { "email", "id", "name", "publication" })
public class Author {
...
private List<Publication> publications = new LinkedList<>();
...
@XmlElement(name = "publication")
public List<Publication> getPublications() {
return publications;
}
public void setPublications(List<Publication> publications) {
this.publications = publications;
} XmlAccessorType的默认值为@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)。但是,当我尝试使用schemagen生成XML Schema时(在Eclipse中和命令行上...),我得到了以下错误:
Property publications is present but not specified in @XmlType.propOrder和
Property publication appears in @XmlType.propOrder, but no such property exists. Maybe you meant publications?所以,对我来说,这听起来有点矛盾,因为schemagen似乎完全忽略了我指定的内容……谁能告诉我问题出在哪里??
非常感谢!
发布于 2014-05-12 00:22:38
propOrder基于映射的字段/属性名称,而不是XML属性或元素的名称。
https://stackoverflow.com/questions/23594742
复制相似问题