Undefined static inner classes handled differently with MOXy and RI
Let's say I have the following two classes:
package example.model;
public class Model {
public static class Inner {}
public Other prop;
}
and
package example.model;
public class Other {
public static class Inner {}
public String prop;
}
and I am creating a JAXB context with JAXBContext.newInstance(example.model.Model.class)
.
With the default JAXB implementation from Java 6, this works without any annotations, and the generated model doesn't mention "internal". with EclipseLink I get a name clash. The two classes are of type XML with uri and the name inner.
I know that fixing the problem fixes at least one of the @XmlTransient inner classes. I would like to know how this distinction relates to the JAXB standard, and I think also if there is another way to make MOXy ignore these classes, as the default JAXB implementation does.
source to share
This looks like a bug in EclipseLink JAXB (MOXy) . We are currently working on fixing EclipseLink 2.3.3 and 2.4.0 threads. You can track our progress using the following link:
Once a fix is available, you can download the nightly build from the following link:
Bypass
As you noted, you can tag a static inner class @XmlTransient
.
package example.model;
public class Model {
@XmlTransient
public static class Inner {}
public Other prop;
}
source to share