Ich mag diesen erfolgreichScala Spiele und Multi-Projekt SBT Baut
activator new foo play-event-sourcing-starter
das Projekt generiert wurde ein scala Play-Projekt erstellt, und ich kann innen und einfach erstellen und ausführen, um die App gehen.
Aber was ich will ist, dass ich ein Multiprojekt sbt bauen sollte. Ich googelte und fand diese https://www.playframework.com/documentation/2.5.x/SBTSubProjects
Aber das ist nicht das Gleiche wie das, was ich will, denn hier haben sie als das Root-Projekt spielen. Was ich will, ist, dass ich ein leeres Root-Projekt mit einer build.sbt-Datei und dann mehrere "Peer" -Projekte habe. Einer von ihnen ist spielen.
Also änderte ich die Schritte zu
mkdir -p LearnPlay/project
cd LearnPlay
activator new foo play-event-sourcing-starter
nun die build.sbt
zum LearnPlay Verzeichnis innerhalb foo und zog ich ging. Ich habe auch die build.properties
und plugins.sbt
Dateien in LearnPlay/Projektordner verschoben.
ich die build.sbt Datei bearbeitet, so dass das Stammprojekt
jedoch sbt das Projekt nicht mehr kompilieren kann nunlazy val root = (project in file("foo")).enablePlugins(PlayScala)
wird und es kann jedes der Spiel Rahmen Abhängigkeiten nicht gefunden.
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)
Dies sind die Inhalte meiner plugins.sbt-Datei. Der Resolver ist korrekt definiert, weshalb ich nicht sicher bin, warum sbt die Abhängigkeiten nicht finden kann, nachdem die Datei vom Unterprojekt zum Stammprojekt verschoben wurde. Es war in der Lage, alles zu lösen, wenn sich die Datei im Projektverzeichnis des foo-Projekts befand.
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")
Sie haben Recht, aber es ist ein wenig überraschend, weil die scalaVersion war im sbt-Projekt angegeben, obwohl nicht direkt im Root-Projekt selbst. Es war in der Lage, die richtige Scala-Version auszuwählen, wenn es im Root-Projekt war ... aber nicht, wenn es das Verzeichnis verwendete. –
könnten Sie Ihre build.sbt vollständig anzeigen? – Mysterion