2013-11-21 15 views
10

ich die folgende Projektstruktur haben:sbt: run Aufgabe auf Teilprojekt

lazy val root = project.aggregate(rest,backend) 
lazy val rest = project 
lazy val backend = project 

Als ich die „run“ Aufgabe der Eltern ausführen, möchte ich eine bestimmte Klasse aus dem „Back-End“ Projekt seine main haben Methode ausgeführt. Wie würde ich das erreichen?

Antwort

5
lazy val root = project.aggregate(rest,backend).dependsOn(rest,backend) //<- don't forget dependsOn 
lazy val rest = project 
lazy val backend = project.settings(mainClass in (Compile, run) := Some("fully.qualified.path.to.MainClass")) 

run in Compile <<= (run in Compile in backend) 
+0

Warum ist das 'dependsOn' von Root zu' Backend' wichtig? Die letzte Zeile scheint für mich zu funktionieren, auch ohne sie (d. H. 'Sbt clean' gefolgt von' sbt run' macht das Richtige). – akauppi

Verwandte Themen