OSGi与MoXy的javax.json.JsonException绑定

时间:2017-02-07 09:43:21

标签: java json osgi moxy

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

我有一个错误:

ServletRequest.getRemoteAddr()

我安装的JSON包:

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)

MOXy包:

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

带导入:

  

javax.json;分辨率:=可选

看起来一切都应该正常,但事实并非如此。 MoXy没有得到javax.json依赖项。怎么了?错误的捆绑版本?错误的装货单?我需要做些什么才能让它们发挥作用?

1 个答案:

答案 0 :(得分:1)

似乎是Equinox如何解决可选包导入的一般问题。

MoXy包在JSon包之前加载,因此javax.json包不可用。由于该引用是可选的,因此已经解决了这个问题。 as'未提供',并且在导入json包后Equinox没有重新解析它们。

解决方案:

1)影响安装顺序。

2)将Moxy的起始等级设置为更高的值,然后设置为JSon。