Sbt-сборка неразрешенной зависимости, Scala
Я устанавливаю Sbt-Assembly, но теперь я застрял.
Sbt Version (from 'sbt about'): 0.13.8
Current project is built against scala 2.11.6
Sbt, sbt plugins, and build definitions are using Scala 2.10.4
Проект /assembly.sbt
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.0")
resolvers += Resolver.url("bintray-sbt-plugins", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
build.sbt
scalaVersion in ThisBuild := "2.11.6"
~/.sbt/0,13/global.sbt
scalaVersion := "2.11.6"
Я понимаю, что sbt-assembly для scala 2.10. Если я изменю свой проект на scala 2.10, у меня появятся новые недоступные зависимости для 2.10, что нежелательно. Есть ли способ настроить мой проект на использование 2.10 только для плагина сборки?
==== bintray-sbt-plugins: tried
http://dl.bintray.com/sbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.11/sbt_0.13/0.14.0/ivys/ivy.xml
::::::::::::::::::::::::::::::::::::::::::::::
:: UNRESOLVED DEPENDENCIES ::
::::::::::::::::::::::::::::::::::::::::::::::
:: com.eed3si9n#sbt-assembly;0.14.0: not found
::::::::::::::::::::::::::::::::::::::::::::::
Note: Some unresolved dependencies have extra attributes.
Check that these dependencies exist with the requested attributes.
com.eed3si9n:sbt-assembly:0.14.0 (scalaVersion=2.11, sbtVersion=0.13)
Ответы
Ответ 1
Просто удалите scalaVersion
из global.sbt
.
Поскольку SBT является рекурсивным, он использует эту scalaVersion
из global.sbt
при создании ваших файлов сборки, что не получается, потому что SBT 0.13 построен с помощью Scala 2.10, а также все SBT-плагины.
Ответ 2
У меня была аналогичная проблема, что помогло добавить addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.3")
в project/plugins.sbt
вместо plugins.sbt
в корневой каталог моего проекта.
Ответ 3
У меня была аналогичная ошибка. Изменена версия sbt-assembly (от 0.14.3 до 0.14.5). Моя версия sbt была 1.0.3, и я использовал: addSbtPlugin ("com.eed3si9n"% "sbt-assembly"% "0.14.5")
Ответ 4
Просто не используйте sbt-assembly вообще! :) Плоские банки вызывают конфликты во время слияния, которые необходимо разрешить с помощью assemblyMergeStrategy. Используйте плагин формата бинарного распространения, который предлагает sbt, который позволяет вам распространять в двоичном скрипте, dmg, msi и tar.gz.
Проверьте sbt-native-packager