Java получает NoSuchMethodError после стирания Generics ⇐ JAVA
Java получает NoSuchMethodError после стирания Generics
Я использую gitlab4j стороннего производителя (пробовал версию 5.0.1, а также 5.3.0), который использует внутренний jersey-client (версии 2.35 и 2.39.1 соответственно) ). Я получаю NoSuchMethodError из кода jersey-client.
Мне удалось создать аналогичный небольшой проект (Github), имитирующий мой код. установка с теми же версиями jar (проверено вместе со всеми транзитивными зависимостями), скомпилировано с тем же плагином компилятора maven (3.1), работает с той же версией Java (11.0.20) --> и в этом проекте код работает хорошо и не дает сбоев.
Это настройка соответствующих классов:
Интерфейс MultivaluedMap содержит метод void addAll(K key, V... newValues). во время выполнения создается экземпляр StringKeyIgnoreCaseMultivaluedMap (это означает, что K — это String, а V — это Объект)
Этот фрагмент кода вызвал ошибку:
public void Accept (окончательные типы String...) { getHeaders().addAll(HttpHeaders.ACCEPT, (Object[]) типы); } getHeaders возвращает экземпляр в интерфейсе MultivaluedMap. Фактический код addAll находится в классе, объявленном как AbstractMultivaluedMap (это экземпляр приведенного выше StringKeyIgnoreCaseMultivaluedMap, который расширяет AbstractMultivaluedMap).
Я получаю сообщение об ошибке:
Вызвано: java.lang.NoSuchMethodError: javax.ws.rs.core.MultivaluedMap.addAll(Ljava/lang/Object;[Ljava/lang/Object;)V в org.glassfish.jersey.client.ClientRequest.accept(ClientRequest.java:280) в org.glassfish.jersey.client.JerseyInvocation$Builder.accept(JerseyInvocate.java:242) в org.glassfish.jersey.client.JerseyInvocation$Builder.accept(JerseyInvocate.java:165) ... Еще раз: этот код хорошо работает в моем примере небольшого проекта и дает сбой только в моем основном проекте.
Есть идеи?
Я использую gitlab4j стороннего производителя (пробовал версию 5.0.1, а также 5.3.0), который использует внутренний jersey-client (версии 2.35 и 2.39.1 соответственно) ). Я получаю NoSuchMethodError из кода jersey-client.
Мне удалось создать аналогичный небольшой проект (Github), имитирующий мой код. установка с теми же версиями jar (проверено вместе со всеми транзитивными зависимостями), скомпилировано с тем же плагином компилятора maven (3.1), работает с той же версией Java (11.0.20) --> и в этом проекте код работает хорошо и не дает сбоев.
Это настройка соответствующих классов:
Интерфейс MultivaluedMap содержит метод void addAll(K key, V... newValues). во время выполнения создается экземпляр StringKeyIgnoreCaseMultivaluedMap (это означает, что K — это String, а V — это Объект)
Этот фрагмент кода вызвал ошибку:
public void Accept (окончательные типы String...) { getHeaders().addAll(HttpHeaders.ACCEPT, (Object[]) типы); } getHeaders возвращает экземпляр в интерфейсе MultivaluedMap. Фактический код addAll находится в классе, объявленном как AbstractMultivaluedMap (это экземпляр приведенного выше StringKeyIgnoreCaseMultivaluedMap, который расширяет AbstractMultivaluedMap).
Я получаю сообщение об ошибке:
Вызвано: java.lang.NoSuchMethodError: javax.ws.rs.core.MultivaluedMap.addAll(Ljava/lang/Object;[Ljava/lang/Object;)V в org.glassfish.jersey.client.ClientRequest.accept(ClientRequest.java:280) в org.glassfish.jersey.client.JerseyInvocation$Builder.accept(JerseyInvocate.java:242) в org.glassfish.jersey.client.JerseyInvocation$Builder.accept(JerseyInvocate.java:165) ... Еще раз: этот код хорошо работает в моем примере небольшого проекта и дает сбой только в моем основном проекте.
Есть идеи?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ввод командной строки Python не удаляет японские символы при нажатии клавиши стирания
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-