线程“main”中的异常 javax.xml.bind.PropertyException:名称:eclipselink.media-type 值:application/json

2024-01-06

我正在尝试遵循位于的示例here https://stackoverflow.com/questions/14734741/converting-json-to-xml-and-vice-versa-using-jackson-api-and-jaxb-annotation但得到一个javax.xml.bind.PropertyException。由于以下代码行,我收到此异常:

marshaller.setProperty(MarshallerProperties.MEDIA_TYPE, "application/json");

我已经复制/粘贴了上面列出的示例,因此我的代码正是您在其中看到的内容。在 SO 和 Google 上搜索此内容并没有帮助,我想我会将其带给 SO 的天才们以寻求一些帮助。任何帮助将不胜感激,使用 json.org、Jackson 和 JAXB 进行 JSON 和 XML 的(反)序列化已经变成了一个黑色无底洞,消耗了我近一个月的时间。

我的第一印象是我没有正确指定 eclipselink 运行时(如此处所述 http://www.eclipse.org/eclipselink/documentation/2.4/moxy/runtime001.htm#CACFEGHC)但这并没有产生解决方案。

堆栈跟踪:

Exception in thread "main" javax.xml.bind.PropertyException: name: eclipselink.media-type value: application/json
   at javax.xml.bind.helpers.AbstractMarshallerImpl.setProperty(AbstractMarshallerImpl.java:358)
   at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.setProperty(MarshallerImpl.java:527)
   at HelloWorld.main(HelloWorld.java:17)

这就是我正在做的事情


您的类路径中需要有 EclipseLink jar(2.4.0 或更高版本),并且jaxb.properties文件与用于引导的类位于同一包中JAXBContext包含以下条目:

javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory

下面是 GitHub 上示例的链接,您可以运行该示例来查看一切是否正常:

  • https://github.com/bdoughan/blog20110819 https://github.com/bdoughan/blog20110819
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

线程“main”中的异常 javax.xml.bind.PropertyException:名称:eclipselink.media-type 值:application/json 的相关文章

随机推荐