2017-02-07 7 views
2

RSサービスのjavax.jsonパッケージにはどのようなOSGiバンドルをインストールする必要がありますか?MoXyのjavax.json.JsonExceptionを使用する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 [email protected]: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 [email protected]:file:plugins/org.eclipse.persistence.moxy_2.6.4.v20160829-44060b6.jar 

は私がエラーを持っています

javax.json; resolution:=optional

すべて正常に動作するはずですが、そうではありません。 MoXyはjavax.jsonの依存関係を取得しません。どうしましたか?バンドルのバージョンが間違っていますか?ロード順序が間違っていますか?それらを働かせるために私は何をする必要がありますか?

答えて

1

Equinoxがオプションのパッケージインポートを解決する方法には、一般的な問題があるようです。

MoXyバンドルがJSonバンドルの前にロードされていたため、javax.jsonパッケージは利用できませんでした。参照はオプションであるため、「提供されていない」として「解決」され、Equinoxはjsonバンドルをインポートした後に再解決しませんでした。

ソリューション:

1)インストール順序に影響します。

又は

2)より高い値JSONにMOXYに設定された開始レベル。

関連する問題