gpt4 book ai didi

java - OSGi 包与 javax.json.JsonException for MoXy

转载 作者:行者123 更新时间:2023-11-30 10:33:42 28 4
gpt4 key购买 nike

我应该为 RS 服务的 javax.json 包安装什么 OSGi 包?

我有一个错误:

Caused by: java.lang.NoClassDefFoundError: javax/json/JsonException
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.getNewXMLReader(SAXUnmarshaller.java:209)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.getXMLReader(SAXUnmarshaller.java:197)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:452)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:400)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:741)
at org.eclipse.persistence.internal.oxm.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:649)
at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:349)
at org.eclipse.persistence.jaxb.rs.MOXyJsonProvider.readFrom(MOXyJsonProvider.java:668)

我安装的 JSON 包:

JSR 353 (JSON Processing) Default Providerorg.glassfish.javax.json
Symbolic Name org.glassfish.javax.json
Version 1.0.4
Bundle Location initial@reference:file:plugins/org.glassfish.javax.json_1.0.4.jar

MOXy 包:

EclipseLink MOXyorg.eclipse.persistence.moxy
Symbolic Name org.eclipse.persistence.moxy
Version 2.6.4.v20160829-44060b6
Bundle Location initial@reference:file:plugins/org.eclipse.persistence.moxy_2.6.4.v20160829-44060b6.jar

导入:

javax.json; resolution:=optional

看起来一切正常,但事实并非如此。 MoXy 没有获取 javax.json 依赖项。怎么了? bundle 版本错误?加载顺序错误?我需要做什么才能让他们上类?

最佳答案

这似乎是 Equinox 如何解决可选包导入的普遍问题。

MoXy 包在 JSon 包之前加载,因此 javax.json 包当时不可用。因为引用是可选的,所以它被“解析”为“未提供”,并且 Equinox 在导入 json 包后没有重新解析它们。

解决方法:

1) 影响安装顺序。

2) 将 Moxy 的启动级别设置为比 JSon 更高的值。

关于java - OSGi 包与 javax.json.JsonException for MoXy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42086451/

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