Opentok SDK не совместим с Spring-boot из-за нового выпуска Jackson 2.9

Мое приложение Spring-boot начало давать сбой, как только 2 марта был выпущен Jackson 2.9. Я использую Gradle для сборки и загрузки Spring версии 1.5.2, которая зависит от Jackson-core 2.8.7.

Кроме того, мне нужен Opentok SDK, который я добавил в качестве зависимости:

compile group: 'com.tokbox', name: 'opentok-server-sdk', version: '2.3.2'

Я предполагаю, что причина в определении зависимостей Opentok SDK, которое позволяет загружать более новый JAR для Джексона, что затем создает несоответствие библиотек при загрузке нескольких версий JAR Джексона:

https://github.com/opentok/Opentok-Java-SDK/blob/master/build.gradle

dependencies {
    ...
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '[2.3.1,2.99999)'

Как это уладить? Я не эксперт Gradle, но могу ли я как-то заставить Opentok использовать версию 2.8.7? Я не могу поставить в данный момент вообще, поэтому, пожалуйста, помогите.


person Marketta    schedule 06.03.2017    source источник


Ответы (2)


Я думаю, это должно быть полезно: https://docs.gradle.org/current/userguide/dependency_management.html#sub:version_conflicts

А также руководство здесь: https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html#N1627D

Подходы могут отличаться, но вы можете установить для Gradle значение force = true для зависимости Spring от jackson-databind.

person Dave Mun    schedule 07.03.2017

Вот как я разобрался

compile ('com.tokbox:opentok-server-sdk:2.3.2')
{
    // Jackson 2.9 is not compatible with Spring boot 1.4.4 - 1.5.2
    exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind'
}
person Marketta    schedule 08.03.2017