Я создал проект Scala играть как этотScala Play и нескольких проектов SBT Строит
activator new foo play-event-sourcing-starter
проект был успешно создан, и я могу пойти внутри и легко скомпилировать и запустить приложение.
Однако я хочу, чтобы у меня была многопроектная сборка sbt. Я googled и нашел это https://www.playframework.com/documentation/2.5.x/SBTSubProjects
Но это не то же самое, что я хочу, потому что здесь они играют как корневой проект. тогда как я хочу, чтобы у меня был пустой проект root с файлом build.sbt, а затем несколько проектов «сверстников». Один из них - игра.
Так что я изменил шаги по
mkdir -p LearnPlay/project
cd LearnPlay
activator new foo play-event-sourcing-starter
Теперь я пошел внутри Foo и переехал build.sbt
в каталог LearnPlay. Я также переместил файлы build.properties
и plugins.sbt
в папку LearnPlay/project.
я редактировал файл build.sbt так, чтобы корневой проект становится
lazy val root = (project in file("foo")).enablePlugins(PlayScala)
Однако в настоящее время SBT не может скомпилировать проект больше, и он не может найти какой-либо из каркасных игр зависимостей.
sbt.ResolveException: unresolved dependency: com.typesafe.play#play-server_2.10;2.5.9: not found
unresolved dependency: com.typesafe.play#play-netty-server_2.10;2.5.9: not found
unresolved dependency: com.typesafe.play#play-logback_2.10;2.5.9: not found
unresolved dependency: com.typesafe.play#play-test_2.10;2.5.9: not found
unresolved dependency: com.typesafe.play#play-omnidoc_2.10;2.5.9: not found
at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:313)
Это содержимое моего файла plugins.sbt. Определитель определен правильно, поэтому я не уверен, почему sbt не сможет найти зависимости после того, как файл был перемещен из подпроекта в корневой проект. он смог разрешить все, когда файл находился в каталоге проекта проекта foo.
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.9")
// web plugins
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.0")
Вы правы, но его немного удивительно, потому что scalaVersion был указанный в проекте sbt, хотя и не непосредственно на самом корневом проекте. Он смог выбрать правильную версию scala, когда она была в корневом проекте ... но не тогда, когда она использовала этот каталог. –
Вы могли бы полностью показать свой build.sbt? – Mysterion