Я пытаюсь написать простой плагин sbt, который использует jsch. Из соображений безопасности (ecdsa) я требую использовать jsch в 0.1.53. Я объявил зависимость в моем файле build.sbt
:
libraryDependencies += "com.jcraft" % "jsch" % "0.1.53"
К сожалению, org.scala-sbt:ivy
2.3.0 вводит зависимость от 0.1.46. SBT говорит, что было вытеснение старой версии, хотя во время выполнения при использовании моего плагина я вижу, что он все еще работает с 0.1.46 jsch.
[info] com.jcraft:jsch
[info] - 0.1.46
[info] status: release
[info] publicationDate: Thu Feb 02 13:39:27 CET 2012
[info] resolver: sbt-chain
[info] artifactResolver: sbt-chain
[info] evicted: true
[info] evictedData: latest-revision
[info] homepage: http://www.jcraft.com/jsch/
[info] isDefault: false
[info] configurations: default, compile, runtime, default(compile), master
[info] licenses: (Revised BSD,Some(http://www.jcraft.com/jsch/LICENSE.txt))
[info] callers: org.scala-sbt:ivy:0.13.11
[info] - 0.1.53
[info] status: release
[info] publicationDate: Fri Jun 05 17:32:00 CEST 2015
[info] resolver: sbt-chain
[info] artifactResolver: sbt-chain
[info] evicted: false
[info] homepage: http://www.jcraft.com/jsch/
[info] isDefault: false
[info] configurations: default, compile, runtime, default(compile), master
[info] licenses: (Revised BSD,Some(http://www.jcraft.com/jsch/LICENSE.txt))
[info] callers: com.evojam:sbt-ssh:0.1.1-SNAPSHOT (scalaVersion=2.10, sbtVersion=0.13), org.scala-sbt:ivy:0.13.11
Я использую sbt версии 0.13.11.
Я добавил свой плагин в тестовый проект. При запуске моей задачи sbt я получаю четкое сообщение журнала: [info] Строка локальной версии: SSH-2.0-JSCH-0.1.46 и ошибка о неподдерживаемом алгоритме, которая приводит меня к выводу, что моя версия jsch была каким-то образом переопределена.
Вопрос в том, как бороться с выселением библиотеки при написании плагина sbt?