Jersey 클라이언트에서 WebTarget을 만들려고 할 때 다음과 같은 예외가 발생합니다.osgi에서 jersey-client를 사용하는 중 오류 - 생성기가 제공되지 않았습니다.
내 코드
Client client = ClientBuilder.newClient();
WebTarget baseTarget = client.target("http://127.0.0.1:9000");
예외 스택 추적
java.lang.IllegalStateException: No generator was provided
and there is no default generator registered
at org.glassfish.hk2.internal.ServiceLocatorFactoryImpl.internalCreate(ServiceLocatorFactoryImpl.java:266)
at org.glassfish.hk2.internal.ServiceLocatorFactoryImpl.create(ServiceLocatorFactoryImpl.java:247)
at org.glassfish.jersey.internal.inject.Injections._createLocator(Injections.java:138)
at org.glassfish.jersey.internal.inject.Injections.createLocator(Injections.java:109)
at org.glassfish.jersey.internal.RuntimeDelegateImpl.<init>(RuntimeDelegateImpl.java:61)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:118)
at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:225)
at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:135)
at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:120)
at javax.ws.rs.core.UriBuilder.newInstance(UriBuilder.java:95)
at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119)
at org.glassfish.jersey.client.JerseyWebTarget.<init>(JerseyWebTarget.java:71)
at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:185)
at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:70)
은 어떤 문제가 될 수 있을까?
나는 같은 문제가 있고 내 클래스 경로에 이러한 모든 jar 파일이 있지만 여전히 예외가 발생합니다. 또한 다음과 같은 경고가 있음을 알았습니다. 경고 : HK2 ServiceLocatorGenerator의 기본 구현을 찾을 수 없습니다. –
정확히 동일한 문제가 발생하여 jar 충돌이 발생했습니다. 그래서 그냥 관점에 넣으려면 내 런타임 OSGI 어디 잘 실행 중이지만 저지 클라이언트를 사용하여 일반 자바 클래스를 사용하여 Eclipse를 실행하려고 할 때 예외가 throw됩니다. 이 솔루션은 OSGI에서 사용 된 모든 클래스 경로 종속성을 제거하고이 응답에 언급 된 라이브러리를 추가 한 것이 었습니다. 또한 Jersey Client 라이브러리와 Jersey Common 라이브러리를 추가해야했습니다. 이게 도움이 되길 바란다. 개발자들이 검색 할 필요가 없도록 저지 배포를 통해 이들을 묶어두기를 바랍니다. –
hk2-locator- *를 깜빡했습니다.위의 오류가 발생했습니다. 내 문제가 추가되면 해결됩니다. – Yergalem