jaxb 仍然有一些问题!
事实上,昨天我改变了我的代码,以找到 jaxb 和接口的问题,因为我在同名的两个属性上遇到了这个问题......
我找了,但我有一个特例 @XmlElements{...}。
如果我这样写,它可以工作
@XmlAccessorType(XmlAccessType.FIELD)
public class Event {
String name;
@XmlElements(value = {
@XmlElement(type=FTPSend.class),
@XmlElement(type=SFTPSend.class),
@XmlElement(type=MailSend.class),
@XmlElement(type=ServerToServerSend.class)
})
ArrayList<IAction> actionsList = new ArrayList<IAction>();
public Event(){
}
public Event(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ArrayList<IAction> getActionsList() {
return actionsList;
}
public void setActionsList(ArrayList<IAction> actionsList) {
this.actionsList = actionsList;
}
}
但是如果我添加@XmlElement,我会遇到两个错误,一个是 jaxb 无法处理接口,另一个是同名
@XmlAccessorType(XmlAccessType.FIELD)
public class Event {
String name;
@XmlElements(value = {
@XmlElement(type=FTPSend.class),
@XmlElement(type=SFTPSend.class),
@XmlElement(type=MailSend.class),
@XmlElement(type=ServerToServerSend.class)
})
ArrayList<IAction> actionsList = new ArrayList<IAction>();
public Event(){
}
public Event(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
**@XmlElement**
public ArrayList<IAction> getActionsList() {
return actionsList;
}
public void setActionsList(ArrayList<IAction> actionsList) {
this.actionsList = actionsList;
}
}
不幸的是,我需要添加 @XmlElement 来构建我的 xml 文件