sbt неразрешенные зависимости sbt_2.9.1; 0.7.4 sbt_2.9.1; 0.7.7: - PullRequest
5 голосов
/ 04 января 2012

Я получал неразрешенные зависимости, такие как вопрос здесь .

Получение org.scala-tools.sbt sbt_2.9.1 0.7.7 ...

    ::::::::::::::::::::::::::::::::::::::::::::::

    ::          UNRESOLVED DEPENDENCIES         ::

    ::::::::::::::::::::::::::::::::::::::::::::::

    :: org.scala-tools.sbt#sbt_2.9.1;0.7.7: not found

    ::::::::::::::::::::::::::::::::::::::::::::::

Ответы [ 3 ]

6 голосов
/ 04 января 2012

SBT 0.7.7 использует Scala 2.7.7 для конфигурации проекта.SBT 0.11 использует Scala 2.9.1.Вы можете использовать SBT 0.7.7 для конфигураций до этой версии, но версии SBT новее, чем 0.7.7, используют несовместимый файл конфигурации.

Обратите внимание, что это не связано с версией Scala, которая будетиспользуется для компиляции самого проекта, только версия Scala, которая используется для компиляции файла конфигурации.Это разные вещи: вы можете использовать любую версию Scala, которую хотите компилировать, но вы должны использовать версию Scala, предписанную версией SBT, для компиляции конфигурации проекта.

Чтобы получить сообщение об ошибке типачто вы либо изменили версию Scala для конфигурации проекта, либо использовали более новый SBT с проектом, написанным для более старой версии SBT.Выясните, что это было, и исправьте проблему при необходимости.

У меня есть SBT 0.7.7 для проектов, которые еще не переведены на новую версию, и последняя версия SBT для всего остального.Присвойте разные имена каждому сценарию, и вы готовы идти вперед.

4 голосов
/ 04 января 2012

Хотя sbt-launch.jar пытается загрузить и использовать версию sbt, указанную в project/build.properties проекта, они должны быть скомпилированы с соответствующими версиями Scala. Я думаю, что sbt 0.7.7 был скомпилирован с Scala 2.7, но самые последние версии sbt скомпилированы с Scala 2.9.

Большинство людей теперь просто используют версию sbt-launch.jar, которая соответствует версии, указанной в project/build.properties. Если вы работаете в Linux, OS X или в любом другом приложении, которое может запускать сценарий Bash, я настоятельно рекомендую сценарий запуска из sbt-extras . Он будет автоматически использовать версию sbt-launch.jar в соответствии с тем, что указано в project/build.properties, и даст некоторые другие удобные параметры командной строки.

Если это не сработает для вас, я думаю, что вам лучше всего использовать разные сценарии запуска для запуска различных минорных версий sbt. Например, sbt7, sbt10 и sbt11, которые запускают 0.7.7, 0.10.1 и 0.11.2 соответственно.

0 голосов
/ 04 января 2012

Я заметил, что проблему можно решить, обновив или удалив запись sbt.version из project_root_folder / project / build.properties Моя текущая версия sbt - 0.11.2, и я обновил ее до sbt.version = 0.11.2.,Удаление записи также работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...