Java 是否可以为集合的成员定义自定义JAXB编组适配器?

Java 是否可以为集合的成员定义自定义JAXB编组适配器?,java,jaxb,jaxb2,Java,Jaxb,Jaxb2,我有一门主课: @XmlRootElement @XmlAccessorType(XmlAccessType.NONE) public class Foo { @XmlAnyElement public Collection<Object> items; } 在对Foo进行编组的过程中,我希望在ItemAdapter中调用marshall(Item): public class ItemAdapter extends XmlAdapter<String, Item&g

我有一门主课:

@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Foo {
  @XmlAnyElement
  public Collection<Object> items;
}
在对
Foo
进行编组的过程中,我希望在ItemAdapter中调用
marshall(Item)

public class ItemAdapter extends XmlAdapter<String, Item> {
  @Override
  public String marshal(final Item item) {
    return "hello";
  }
}

我做错了什么?请记住,
Foo.items
可能包含其他类型的元素,而不仅仅是
Item

将@XmlRootElement添加到Item类:Dadd@XmlRootElement添加到Item类:D
public class ItemAdapter extends XmlAdapter<String, Item> {
  @Override
  public String marshal(final Item item) {
    return "hello";
  }
}
[com.sun.istack.SAXException2: unable to marshal type "Item" as 
an element because it is missing an @XmlRootElement annotation]