Почему IntelliJ не может найти зависимости моментальных снимков SBT?

У меня есть проект Play 2.3 Scala, который отлично запускается при запуске командой activator run. Однако, если я попытаюсь запустить его в IntelliJ 13 с помощью параметра Запустить/отладить конфигурации, возникнет проблема с разрешением зависимостей моментальных снимков.

Согласно логам, были проверены следующие репозитории, чтобы найти зависимости:

[warn]  module not found: org.package#my-dep;1.0-SNAPSHOT
[warn] ==== local: tried
[warn]   C:\Users\MyUser\.ivy2\local\org.package\my-dep\1.0-SNAPSHOT\ivys\ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/org/package/my-dep/1.0-SNAPSHOT/my-dep-1.0-SNAPSHOT.pom
[warn] ==== Typesafe Releases Repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/org/package/my-dep/1.0-SNAPSHOT/my-dep-1.0-SNAPSHOT.pom

Зависимости находятся в моем каталоге ~/.ivy2/cache. У меня также есть другие зависимости, которые не помечены как снимки, и похоже, что у IntelliJ нет проблем с их поиском. Это относится только к моментальным снимкам.

Обновить

Похоже, что IDEA игнорирует мой файл ~/.sbt/repositories, в котором определен репозиторий моментальных снимков, и использует конфигурацию плагина SBT по умолчанию.

Действительно ли возможно настроить IDEA так, чтобы он использовал мое собственное определение репозитория?


person Daniel Olszewski    schedule 14.11.2014    source источник


Ответы (1)


Я безуспешно пытался установить собственный sbt-launcher в Настройки -> SBT -> Launcher -> Пользовательский.

введите здесь описание изображения

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

-Dsbt.global.base=C:\Users\User\AppData\Local\Temp\sbt-global-plugin3401565420094215394stub -classpath C:\Users\User\.IntelliJIdea13\config\plugins\Scala\launcher\sbt-launch.jar

Наконец мне удалось заставить IDEA использовать мои ~/.sbt/repositories, добавив -Dsbt.repository.config=C:\Users\User\.sbt\repositories в параметры JVM Run Configuration.

введите здесь описание изображения

Я также установил -Dsbt.override.build.repos=true, чтобы убедиться, что используются только репозитории, указанные в моей пользовательской конфигурации.

person Daniel Olszewski    schedule 27.11.2014