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