2013-11-21 12 views
10

ho la seguente struttura del progetto:SBT: eseguire un'attività su sottoprogetto

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

Quando eseguo il compito "run" da parte del genitore, voglio una specifica classe dal progetto "back-end" per avere il suo main metodo eseguito Come potrei realizzare questo?

risposta

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

Perché il 'dependsOn' da root a' backend' è importante? L'ultima riga sembra funzionare per me, anche senza di essa (ad esempio "sbt clean" seguito da "sbt run" fa la cosa giusta). – akauppi

Problemi correlati