Есть проект, собираемый Gradle. При попытке использовать Tinkoff openapi-java-sdk-java8 версии 0.4.1 вместе со Spring boot 2.2.5 возникает ошибка вида:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
ru.tinkoff.invest.openapi.okhttp.SandboxContextImpl.performRegistration(SandboxContextImpl.java:45)
The following method did not exist:
okhttp3.RequestBody.create([B)Lokhttp3/RequestBody;
Если сделать gradle dependencies, то видна и причина данной ошибки:
com.squareup.okhttp3:okhttp:4.3.1 -> 3.14.7
Видно, что версия okhttp, требуемая для openapi-java-sdk, даунгэйдится до 3.14.7. Причина - в https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies/2.2.5.RELEASE, где определяется версия 3.14.7.
Выход из ситуации - добавление в build.gradle:
ext['okhttp3.version'] = '4.3.1'
В целом про переопределение версий зависимостей, диктуемых spring boot'ом, написано тут: https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-customize-dependency-versions.
Комментариев нет:
Отправить комментарий