假设我有以下两个类:
package example.model;
public class Model {
public static class Inner {}
public Other prop;
}
和
package example.model;
public class Other {
public static class Inner {}
public String prop;
}
我创建了一个 JAXB 上下文JAXBContext.newInstance(example.model.Model.class)
。
使用 Java 6 的默认 JAXB 实现,这无需任何注释即可工作,并且生成的模型不会提及"inner"。使用 EclipseLink 我得到“名称冲突。两个类的 XML 类型带有 uri 和名称内部。”
我知道至少制作一个内部类@XmlTransient 可以解决这个问题。我想知道这种差异与 JAXB 标准有何关系,而且我猜还有其他方法可以让 MOXy 像默认的 JAXB 实现那样忽略这些类。