问题标签 [moxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2617 浏览

jaxb - MOXy @XmlPath 被忽略

我有一个非常简单的类,有两个字段,String sourceAddress 和 int port。
我希望它们映射到源/地址和源/端口节点,而不是 jaxb 默认的源地址和源端口。
所以我使用 MOXy @XmlPath 注释。
问题是注释被忽略了,我得到了“jaxb default”xml文件:

提前感谢阿戈斯蒂诺的任何帮助

0 投票
1 回答
4673 浏览

maven-2 - 如何在 Maven-3 下使用 MOXy 从 XSD 生成 Java?

在 Maven-3 下使用 MOXy 从 XSD 生成 Java 的最简单/最好的方法是什么?参考 JAXB 接口有一个不错的 Maven 插件,但它似乎不支持 MOXy。

有没有人有什么具体的东西可以提供?(我知道我可以写 ant-script,或者插件,或者......)

0 投票
4 回答
2872 浏览

java - JAXB/MOXy:当元素丢失时不要调用 XmlElementWrapper 设置器?

我在一个用@XmlElementWrapper(name = "foos") 和@XmlElement(name = "foo") 注释的类上有一个列表设置器。

当我解组没有 <foos></foos> 或 <foo/> 元素的 XML 时,将调用 setter 并传递一个空列表。有没有办法获得以下内容?:

  • 当没有 <foos/> 时,不要调用 setter。或者如果必须调用 setter,则传递 null。
  • 当 <foos/> 存在但为空时,将一个空列表传递给 setter。
  • 当 <foos> 有一个或多个子 <foo/> 元素时,传递一个填充列表。
0 投票
1 回答
645 浏览

java - 与 MOXy 不一致的解组

我正在使用 MOXy 解组一个相对简单的 XML 文档,但我的行为不一致。该文档由两个元素组成,基本信息(姓名和日期)后跟记录列表。问题是名称和日期每次都正确解组,但是我经常没有得到任何记录(这已经通过单元测试反复使用相同的静态数据进行验证,但通过和失败却没有观察到可预测性)。所有日志记录和断言验证一切看起来都不错,除了有时我得到所有 6 条记录,有时我得到 0(从来没有任何其他数字)。这种不一致的行为对我来说完全没有意义,有什么想法吗?我是否缺少注释或可以确保正确解组的内容?

我尝试了几个不同版本的 eclipselink 库,结果都相同(目前我正在从 eclipselink maven 存储库加载 2.2.0)。

报告类

记录类 包com.company.report_parser.model;

样本数据

0 投票
1 回答
463 浏览

xml - 我可以将 JAXB2 Basics 插件与来自 EclipseLink 的 MOXy JAXB 实现一起使用吗?如果没有,有替代品吗?

最终,我希望 JAXB 生成 hashCode 和 equals 实现。JAXB2 Basics 插件可以做到这一点,它适用于 JDK 中的 Metro JAXB 实现,但在 MOXy 中失败。

我得到:

java.lang.IllegalArgumentException 在 org.eclipse.persistence.jaxb.JAXBBinder.updateXML(JAXBBinder.java:131) 在 org.eclipse.persistence.jaxb.JAXBBinder.updateXML(JAXBBinder.java:126)

MOXy 对我来说很好,否则,如果我摆脱了 equals 和 hashCode 生成代码,一切都很好。

0 投票
1 回答
999 浏览

generics - 嵌套的 @XmlJavaTypeAdapter 注释在使用 eclispelink 时嵌套对象是通用的地方被忽略

在编组对象树时,我正在使用@XmlJavaTypeAdapter. 一些适配器返回本身具有@XmlJavaTypeAdapter注释的类的对象。当我使用与 websphere 7 一起打包的 JAXB 实现时,这工作得很好,但是当我使用第一个适配器返回的对象上org.eclipse.persistence.jaxb.JAXBContextFactory@XmlJavaTypeAdapter注释时,将被忽略。这是一个已知问题,还是我做错了什么?

一个

C

G

然后适配器A...

以及泛型类型的适配器

当与班级一起编组时com.sun.xml.bind.v2.runtime.JAXBContextImpl

当与org.eclipse.persistence.jaxb.JAXBContext

我认为问题在于泛型类型。目标是跳过对泛型类型进行封送处理,并且只处理 marshalT以及 processT的注释(如果有)。

0 投票
1 回答
1437 浏览

json - 使用 EclipseLink MOXy (JAXB) 将子类编组为 JSON 时是否有可能隐藏“@type”条目?

我即将开发一个基于 JAX-RS 的 RESTful Web 服务,我使用 MOXy (JAXB) 来自动生成我的 Web 服务的 JSON 响应。

一切都很酷,但由于 Web 服务将是基于 JavaScript 的 Web 应用程序的后端,因此可以公开访问,我不想公开某些细节,如类名等。

但是,我意识到在某些情况下 MOXy 会在编组后的字符串中嵌入一个“@type”条目,并且该条目后跟刚刚编组的对象的类名。

特别是,我意识到 MOXy 在编组扩展类的实例时会以这种方式运行。

假设以下超类“MyBasicResponse”

而这个专业(扩展)类“MySpecialResponse”

所以,MyBasicResponse 对象的编组字符串是

(没关系!)

但是,MySpecialResponse 对象的编组字符串就像

有没有办法剥离

我的回应?

0 投票
1 回答
11680 浏览

jaxb - JAXB:限定属性禁用默认命名空间 xmlns=""?

当我使用@XmlSchema(attributeFormDefault = XmlNsForm.QUALIFIED, ...)

或者@XmlAttribute(namespace = "sample.com/y", ...)

JAXB 忽略@XmlSchema(namespace = "sample.com/x", ...)

而不是:

生成类似的东西:

这是预期的行为吗?有什么办法可以纠正这个吗?

0 投票
2 回答
2444 浏览

jaxb - 将 MOXy 的 @XmlCDATA 注释与球衣一起使用

我正在研究用球衣编写的 REST Web 服务,我正在尝试输出一些带有 CDATA 部分的 XML。我了解JAXB 的参考实现不支持该功能,因此我下载了 EclipseLink 的 MOXy,并试图让 @XmlCDATA 注释工作。

我的 JAXB 映射 bean 看起来像这样

我把文件和类文件jaxb.properties放在com/me/entities一起。属性文件有

在里面。我确信它会成功加载,因为如果我用一些废话替换工厂类名称,应用程序就会崩溃。此外,明确编组我自己创建 JAXBContext 的文件工作正常,所以问题似乎与球衣有关。根据这个我的设置很好,但是当我的球衣资源返回 MyBean 的实例时

我回来的没有CDATA,但看起来像

我究竟做错了什么?

0 投票
2 回答
10186 浏览

xml - 无法让 EclipseLink MOXy 工作

我是 JAXB 的新手,我想使用 EclipseLink MOXy 更改默认命名空间前缀。我的 package-info.java 有以下代码行:

我的 jaxb.properties 文件有以下行:

我已将 eclipselink.jar 添加到 CLASSPATH,package-info.java 和 jaxb.properties 文件与我的模型类在同一个包中,但是,当我运行程序时,我收到以下错误消息:

我已经用 EclipseLink 版本 2.3.0 和 2.0.2 进行了尝试,但仍然收到相同的错误消息。有谁碰巧知道可能是什么问题?

提前谢谢了