2017-02-07 1 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 목시에 대해 설정된 시작 레벨.