问题标签 [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.
jaxb - MOXy @XmlPath 被忽略
我有一个非常简单的类,有两个字段,String sourceAddress 和 int port。
我希望它们映射到源/地址和源/端口节点,而不是 jaxb 默认的源地址和源端口。
所以我使用 MOXy @XmlPath 注释。
问题是注释被忽略了,我得到了“jaxb default”xml文件:
提前感谢阿戈斯蒂诺的任何帮助
maven-2 - 如何在 Maven-3 下使用 MOXy 从 XSD 生成 Java?
在 Maven-3 下使用 MOXy 从 XSD 生成 Java 的最简单/最好的方法是什么?参考 JAXB 接口有一个不错的 Maven 插件,但它似乎不支持 MOXy。
有没有人有什么具体的东西可以提供?(我知道我可以写 ant-script,或者插件,或者......)
java - JAXB/MOXy:当元素丢失时不要调用 XmlElementWrapper 设置器?
我在一个用@XmlElementWrapper(name = "foos") 和@XmlElement(name = "foo") 注释的类上有一个列表设置器。
当我解组没有 <foos></foos> 或 <foo/> 元素的 XML 时,将调用 setter 并传递一个空列表。有没有办法获得以下内容?:
- 当没有 <foos/> 时,不要调用 setter。或者如果必须调用 setter,则传递 null。
- 当 <foos/> 存在但为空时,将一个空列表传递给 setter。
- 当 <foos> 有一个或多个子 <foo/> 元素时,传递一个填充列表。
java - 与 MOXy 不一致的解组
我正在使用 MOXy 解组一个相对简单的 XML 文档,但我的行为不一致。该文档由两个元素组成,基本信息(姓名和日期)后跟记录列表。问题是名称和日期每次都正确解组,但是我经常没有得到任何记录(这已经通过单元测试反复使用相同的静态数据进行验证,但通过和失败却没有观察到可预测性)。所有日志记录和断言验证一切看起来都不错,除了有时我得到所有 6 条记录,有时我得到 0(从来没有任何其他数字)。这种不一致的行为对我来说完全没有意义,有什么想法吗?我是否缺少注释或可以确保正确解组的内容?
我尝试了几个不同版本的 eclipselink 库,结果都相同(目前我正在从 eclipselink maven 存储库加载 2.2.0)。
报告类
记录类 包com.company.report_parser.model;
样本数据
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 生成代码,一切都很好。
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
的注释(如果有)。
json - 使用 EclipseLink MOXy (JAXB) 将子类编组为 JSON 时是否有可能隐藏“@type”条目?
我即将开发一个基于 JAX-RS 的 RESTful Web 服务,我使用 MOXy (JAXB) 来自动生成我的 Web 服务的 JSON 响应。
一切都很酷,但由于 Web 服务将是基于 JavaScript 的 Web 应用程序的后端,因此可以公开访问,我不想公开某些细节,如类名等。
但是,我意识到在某些情况下 MOXy 会在编组后的字符串中嵌入一个“@type”条目,并且该条目后跟刚刚编组的对象的类名。
特别是,我意识到 MOXy 在编组扩展类的实例时会以这种方式运行。
假设以下超类“MyBasicResponse”
而这个专业(扩展)类“MySpecialResponse”
所以,MyBasicResponse 对象的编组字符串是
(没关系!)
但是,MySpecialResponse 对象的编组字符串就像
有没有办法剥离
我的回应?
jaxb - JAXB:限定属性禁用默认命名空间 xmlns=""?
当我使用@XmlSchema(attributeFormDefault = XmlNsForm.QUALIFIED, ...)
或者@XmlAttribute(namespace = "sample.com/y", ...)
JAXB 忽略@XmlSchema(namespace = "sample.com/x", ...)
而不是:
生成类似的东西:
这是预期的行为吗?有什么办法可以纠正这个吗?
jaxb - 将 MOXy 的 @XmlCDATA 注释与球衣一起使用
我正在研究用球衣编写的 REST Web 服务,我正在尝试输出一些带有 CDATA 部分的 XML。我了解JAXB 的参考实现不支持该功能,因此我下载了 EclipseLink 的 MOXy,并试图让 @XmlCDATA 注释工作。
我的 JAXB 映射 bean 看起来像这样
我把文件和类文件jaxb.properties
放在com/me/entities
一起。属性文件有
在里面。我确信它会成功加载,因为如果我用一些废话替换工厂类名称,应用程序就会崩溃。此外,明确编组我自己创建 JAXBContext 的文件工作正常,所以问题似乎与球衣有关。根据这个我的设置很好,但是当我的球衣资源返回 MyBean 的实例时
我回来的没有CDATA,但看起来像
我究竟做错了什么?
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 进行了尝试,但仍然收到相同的错误消息。有谁碰巧知道可能是什么问题?
提前谢谢了