我有一个项目foo有两个孩子foo-core和foo-cli,foo-cli依赖于foo-core (我来自Java / Maven并尝试使用2个子模块架构转置父模块)。 在https://github.com/harrah/xsbt/wiki/Full-Configuration之后,我用这样的方式编写了我的项目/ Build.scala:
import sbt._
import Keys._
object MyBuild extends Build {
//Dependencies
val slf4s = "com.weiglewilczek.slf4s" %% "slf4s" % "1.0.6"
val slf4j = "org.slf4j" %% "slf4j-simple" % "1.5.6"
val grizzled = "org.clapper" %% "grizzled-slf4j" % "0.5"
val junit = "junit" % "junit" % "4.8" % "test"
//End dependencies
lazy val root : Project = Project("root", file(".")) aggregate(cli) settings(
mainClass:= Some("Main")
)
lazy val core : Project = Project("core", file("core"), delegates = root :: Nil) settings(
name := "foo-core",
libraryDependencies ++= Seq(grizzled)
)
lazy val cli: Project = Project("cli", file("cli")) dependsOn(core) settings(
name := "foo-cli",
libraryDependencies ++= Seq(grizzled)
)
}
此配置不起作用:当我运行sbt reload; sbt + update(如http://software.clapper.org/grizzled-slf4j/中所示)并且因此“import grizzli._”在我的核心和cli项目中失败时,不会下载grizzled库我编译。
由于我是scala / sbt的新手,我想我正在做一些可怕的事情,但无法理解为什么因为我对所有sbt 0.7 / sbt0.10冲突的配置感到困惑 (如Subproject dependencies in SBT)。
有什么想法吗?提示可以帮助我?
提前致谢
答案 0 :(得分:2)
那是灰白的,不是你用作依赖的灰熊。导入是:
import grizzled._
这可以从console
project cli
和project core
上的{{1}}开始,只有上面的配置文件。
您使用的是SBT 0.10吗?