2013-07-03 32 views
1

我試圖用sbt設置一個多項目。目前它非常簡單(我正在爲學習目的而做),但我遇到了一些麻煩。「參數指定兩次:聚合」在sbt多項目定義

這是文件夾結構

MyProject 
| 
|-project 
     | 
     |- Build.scala 

的Build.scala文件的內容:

import sbt._ 
import Keys._ 

object RootBuild extends Build { 
    lazy val root = Project(id = "root", base = file(".")) aggregate(bar, foo) 

    lazy val foo = Project(id = "foo", base = file("foo"), dependsOn(bar)) 

    lazy val bar = Project(id = "bar", base = file("bar")) 
} 

當我運行sbt clean compile我得到以下錯誤:

[info] Done updating. 
[info] Compiling 1 Scala source to C:\MyProject\project\target\scala-2.9.2\sbt-0.12\classes... 
[error] C:\MyProject\project\Build.scala:7: parameter specified twice: aggregate 
[error]  lazy val foo = Project(id = "foo", base = file("foo"), dependsOn(bar)) 
[error]     ^
[error] one error found 
[error] (compile:compile) Compilation failed 
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? qTerminate batch job (Y/N)? 

我我不知道爲什麼我會得到這個錯誤,關於如何解決這個問題的任何想法?

回答

2

移動dependsOn項目外Project(id = "foo", base = file("foo")).dependsOn(bar)。如果你想添加的項目申報項目依賴然後使用項目案例類的依賴關係參數:

dependencies: => Seq[ClasspathDep[ProjectReference]] 

lazy val foo = Project(id = "foo", base = file("foo"), dependencies = Seq(bar)) 
+0

謝謝,固定它。 –