Java JAXB在尝试按给定顺序进行Marshall时给出异常
我有一个类似的代码Java JAXB在尝试按给定顺序进行Marshall时给出异常,java,exception,jaxb,Java,Exception,Jaxb,我有一个类似的代码 @XmlRootElement(name = "root") @XmlType(propOrder={"param1", "param2""}) public class Demo{ public Demo() { } private int param1; private String param2; private String param3; public int getparam1() { return param1; } @XmlElement pu
@XmlRootElement(name = "root")
@XmlType(propOrder={"param1", "param2""})
public class Demo{
public Demo() {
}
private int param1;
private String param2;
private String param3;
public int getparam1() {
return param1;
}
@XmlElement
public void setparam1(int param1) {
this.param1= param1;
}
//other setters and getters here except for param3
}
但它给了我
n4 counts of IllegalAnnotationExceptions
尝试运行程序时出现异常(我在原始代码中总共有6个参数,只有4个用于Marshall)
原因是什么?在@XmlType注释中有一个错误:
@XmlType(propOrder={"param1", "param2","param3"})
如果这不能解决问题,请尝试检查比例器中属性的名称,或直接使用字段访问器类型:
@XmlRootElement(name = "root")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder={"param1", "param2", "param3"})
public class Demo{
public Demo() {
}
private int param1;
private String param2;
private String param3;
//getter & setters without annotations
}
是的,但我只想在XML格式的程序中从3个参数中提取2个参数。因此,给定@xmlacessortype(xmlacesstype.FIELD)将使所有参数都显示在XML右侧?@xmlacessortype(xmlacesstype.NONE),然后@xmlement仅显示在您想要作为输出的字段上。