Несовместимость между зависимостями вашей библиотеки после обновления с версии play 2.4 до play 2.5.0

Недавно я обновил свой проект с play framework 2.4.0 до 2.5.0, и когда я его создаю, у меня возникает так много проблем с несовместимостью библиотек, что я не знаю, как их решить. Может у кого-нибудь есть идеи, как мы можем решить такие проблемы.

Я просто делюсь образцом, так как список довольно большой:

[warn] There may be incompatibilities among your library dependencies
[warn] Here are some of the libraries that were evicted:
[warn]  * com.typesafe.play:play-netty-server_2.11:2.4.0 -> 2.5.0
[warn]  * com.typesafe.play:play-java_2.11:2.4.0 -> 2.5.0
[warn]  * com.typesafe.play:play-server_2.11:2.4.0 -> 2.5.0

Я заметил, что все вышеперечисленные предупреждения появляются, потому что я использую версию библиотеки deadbolt2 как:

"be.objectify" % "deadbolt-java_2.11" % "2.4.4"

Если я удалю вышеуказанную зависимость, все предупреждения исчезнут. Другой последней версии для deadbolt2 нет. Не знаю, что мне теперь делать. Пожалуйста, предложите.


person Programmer    schedule 17.03.2016    source источник
comment
Это может помочь в исследовании проблемы: github.com/jrudolph/sbt-dependency-graph   -  person rethab    schedule 18.03.2016
comment
@rethab: я полностью понимаю вашу точку зрения о том, что график зависимостей поможет понять проблему, но моя точка зрения заключается в том, что у меня нет указаний версии play-netty-server, play-java, play-server в качестве зависимости в файле builds.sbt, я пытался добавление явного добавления этих зависимостей в файл builds.sbt с правильной версией 2.5.0, даже тогда я получаю те же ошибки, поэтому мне кажется, что проблема где-то в другом.   -  person Programmer    schedule 18.03.2016
comment
Это поможет вам определить, откуда исходит «оскорбительная» зависимость.   -  person rethab    schedule 19.03.2016
comment
@rethab: это конфликтующая версия библиотеки засовов. Я использую последнюю зависимость библиотеки deadbolt2 как: be.objectify % deadbolt-java_2.11 % 2.4.4. На данный момент нет другой последней доступной зависимости. Теперь ясно, что делать   -  person Programmer    schedule 22.03.2016
comment
Поднимите вопрос с ними. Предложите изменение.   -  person rethab    schedule 22.03.2016
comment
2.5.0-SNAPSHOT уже давно доступен   -  person Steve Chaloner    schedule 22.03.2016


Ответы (2)


Версии в Deadbolt соответствуют той же x.y-версии Play, поэтому Deadbolt 2.4 — для Play 2.4, Deadbolt 2.5 — для Play 2.5 и так далее.

Сегодня вышел Deadbolt 2.5.0, так что если вы обновите свою версию до "be.objectify" %% "deadbolt-scala" % "2.5.0", все будет в порядке.

Это задокументировано здесь.

person Steve Chaloner    schedule 22.03.2016

Спасибо всем за просмотр этих вопросов и попытку помочь мне в этом. На самом деле это была зависимость от deadbolt 2, которую я использовал с Playframework 2.5.0.

Я использовал:

"be.objectify" % "deadbolt-java_2.11" % "2.4.4"

Теперь я использую ниже, что фактически решило проблему:

"be.objectify" %% "deadbolt-java" % "2.5.0"
person Programmer    schedule 23.03.2016
comment
Вы можете избавиться от бита -SNAPSHOT, выпущена версия 2.5.0. - person Steve Chaloner; 24.03.2016
comment
@SteveChaloner: спасибо за предложение - person Programmer; 24.03.2016
comment
Вы reload в активаторе подхватывали изменения? - person Steve Chaloner; 24.03.2016
comment
Попробуйте еще раз и проверьте свое дерево зависимостей. 2.5.0 и 2.5.0-SNAPSHOT идентичны, за исключением названия версии. - person Steve Chaloner; 24.03.2016