我有一个需要编组为 XML 的类。
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class ClassToBeMarshalled {
public Interface object;
}
该接口由许多具体类实现,其中大多数是特定于供应商的,我无权访问其源代码。
所以我的问题是:
如果我尝试编组该类,JAX-B 将抱怨接口的当前具体实现在上下文中未知 - 换句话说,具体类没有通过调用提供当前实现的 JAXBContext.newInstance 加载到上下文中。
解决该问题的最常见方法是:
1) 使用 XMLSeeAlso - 这不是一个可行的选择,因为有很多具体的类
2)用@XmlRootElement注释每个类 - 这不是一个可行的选择,因为我无权访问所有类
有谁知道在需要时让 JAX-B 将具体类加载到其上下文中的方法?
谢谢。
PS:我正在使用 JAX-B RI