Проблема с Джерси Инжект HK2 2.27: java.lang.ClassCastException - PullRequest
0 голосов
/ 12 сентября 2018

Я открываю этот пост, потому что у меня проблема после обновления версии Джерси с 2.25 до 2.27.

Во время обновления Джерси попросил меня добавить jersey-hk2 Maven Dependency.

Я получил ClassCastException при попытке отправить POST-запрос с RestClient, как показано в поле ниже, несмотря на то, что та же инструкция отлично работала в Джерси 2.25:

WebTarget webTarget = client.target(resource);
Response response = webTarget.request(MediaType.APPLICATION_JSON)
                             .post(Entity.entity(data, MediaType.APPLICATION_JSON));

Это полное исключение, которое я получил:

java.lang.ClassCastException: Cannot cast org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory to org.glassfish.jersey.internal.inject.InjectionManagerFactory
at java.lang.Class.cast(Class.java:3369)
at org.glassfish.jersey.internal.ServiceFinder$LazyObjectIterator.hasNext(ServiceFinder.java:714)
at org.glassfish.jersey.internal.inject.Injections.lookupService(Injections.java:112)
at org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:97)
at org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:68)
at org.glassfish.jersey.client.ClientConfig$State.initRuntime(ClientConfig.java:432)
at org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:341)
at org.glassfish.jersey.client.ClientConfig.getRuntime(ClientConfig.java:826)
at org.glassfish.jersey.client.ClientRequest.getConfiguration(ClientRequest.java:285)
at org.glassfish.jersey.client.JerseyInvocation.validateHttpMethodAndEntity(JerseyInvocation.java:143)
at org.glassfish.jersey.client.JerseyInvocation.<init>(JerseyInvocation.java:112)
at org.glassfish.jersey.client.JerseyInvocation.<init>(JerseyInvocation.java:108)
at org.glassfish.jersey.client.JerseyInvocation.<init>(JerseyInvocation.java:99)
at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:445)
at org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:351)
at com.mypackage.utils.REST.RestClient.executePost(RestClient.java:118)

Я уточняю, что, как предлагается в других вопросах, размещенных в Интернете, я сопоставил все версии компонентов Джерси с 2.27.

Любая помощь будет оценена.

Большое спасибо !!!

...