2013-11-21 23 views
10

tôi đã cơ cấu dự án sau:SBT: chạy nhiệm vụ trên tiểu dự án

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

Khi tôi thực hiện "chạy" công việc từ phụ huynh, tôi muốn có một lớp học cụ thể từ các dự án "phụ trợ" để có main của nó phương thức được thực thi. Làm thế nào tôi sẽ thực hiện được điều này?

Trả lời

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

Tại sao 'dependsOn' từ gốc đến' backend' quan trọng? Dòng cuối cùng có vẻ phù hợp với tôi, cũng không có nó (tức là 'sbt clean' theo sau là' sbt run' làm điều đúng). – akauppi

Các vấn đề liên quan