2015-09-06 69 views
1

我剛開始學習sbt來構建scala項目。sbt中的項目聚合

這裏是我的build.sbt文件

lazy val commonSettings = Seq(
    organization := "com.example", 
    version := "0.1.0", 
    scalaVersion := "2.11.7" 
) 

lazy val task = taskKey[Unit]("An example task") 


lazy val root = project.in(file(".")). 
    aggregate(core). 
    settings(commonSettings: _*). 
    settings(
    task := { println("Hello!") }, 
    name := "hello", 
    version := "1.0" 
) 

    lazy val core = project.in(file("SbtScalaProjectFoo")) 

我的項目結構如下

SbtScalaProject 
    |--SbtScalaProjectFoo 
    |--build.sbt 
    |--build.sbt 

當我嘗試運行裏面SbtScalaProject 「SBT」 我得到以下

No project 'core' in 'file:/Users/asattar/Dev/work/SbtScalaProject/' 

我錯過了什麼?

+0

這對我來說很好。你使用的是什麼版本的sbt?什麼OS? – mfirry

+0

Mac Os X.如果我在SbtScalaProjectFoo中沒有build.sbt文件,它可以正常工作,否則sbt編譯會失敗並顯示錯誤。在此之後,我放棄了,並且我會暫時依靠maven來進行依賴管理和構建。我最終希望熟悉sbt,因爲它的代碼比maven的xml語法更有趣:) –

+0

SbtScalaProjectFoo中的build.sbt文件的外觀如何?你需要什麼? – mfirry

回答

0

擁有多個build.sbt已被證明對我也有問題。 我會建議將所有項目數據彙總到一個build.sbt中。如果要模塊化構建,請考慮將零件移動到(根項目的)項目/目錄中的.scala-Files。