gpt4 book ai didi

java - MOXy 和 RI 以不同方式处理未引用的静态内部类

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:34:25 24 4
gpt4 key购买 nike

假设我有以下两个类:

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;
}

然后我使用 JAXBContext.newInstance(example.model.Model.class) 创建了一个 JAXB 上下文。

使用 Java 6 的默认 JAXB 实现,这可以在没有任何注释的情况下工作,并且生成的模型不会提及“内部”。使用 EclipseLink 我得到一个 “名称冲突。两个类具有带有 uri 和名称内部的 XML 类型。”

我知道至少制作一个内部类@XmlTransient 可以解决这个问题。我想知道这种差异与 JAXB 标准有何关系,而且,我想,如果有任何其他方法可以让 MOXy 像默认的 JAXB 实现那样忽略这些类。

最佳答案

这似乎是 EclipseLink JAXB (MOXy) 中的错误.我们目前正在努力修复 EclipseLink 2.3.3 和 2.4.0 流。您可以使用以下链接跟踪我们的进度:

修复可用后,您将能够从以下链接下载夜间构建:

解决方法

正如您提到的,您可以使用 @XmlTransient 标记静态内部类。

package example.model;

public class Model {
@XmlTransient
public static class Inner {}

public Other prop;
}

关于java - MOXy 和 RI 以不同方式处理未引用的静态内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9711973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com