无法使用有效的SBT导入Project/dependencies.scala

无法使用有效的SBT导入Project/dependencies.scala,scala,sbt,Scala,Sbt,我在同一个项目中有许多模块,因此结构大致如下: Root - ProjA - ProbB - ProjC build.sbt 我有一个build.sbt,在项目的根目录中包含了所有的细节,它很笨重,当我需要给某人提供ProjB时,我们遇到了问题 然后我找到了一篇关于有效SBT的帖子和幻灯片,认为这听起来是一个很好的解决方案。然而,实现并不是无痛的 我正在更新结构,使其看起来像: Root - ProjA --build.props --dependencies.scala -ProjA --b

我在同一个项目中有许多模块,因此结构大致如下:

Root
- ProjA
- ProbB
- ProjC
build.sbt
我有一个build.sbt,在项目的根目录中包含了所有的细节,它很笨重,当我需要给某人提供ProjB时,我们遇到了问题

然后我找到了一篇关于有效SBT的帖子和幻灯片,认为这听起来是一个很好的解决方案。然而,实现并不是无痛的

我正在更新结构,使其看起来像:

Root
- ProjA
--build.props
--dependencies.scala
-ProjA
--build.props
--dependencies.scala
build.sbt
依赖关系示例:

object Dependencies {

  //specific versions (if required) use '% name-version' to add to the dependency

  //libraries
  val scalaTest       = "org.scalatest" % "scalatest_2.10" % "2.2.6"
  val slf4j           = "org.slf4j" % "slf4j-log4j12" % "1.7.13"
  val akkaActor       = "com.typesafe.akka" % "akka-actor_2.10" % "2.3.14"
  val akkaTest        = "com.typesafe.akka" % "akka-testkit_2.10" % "2.3.14"
  val awsCloudwatch   = "com.amazonaws" % "aws-java-sdk-cloudwatch" % 

"1.10.28"
  val cloudwatchDependencies = Seq(awsCloudwatch, akkaActor, akkaTest)
然后我尝试在build.sbt中使用它,但它不允许我导入该文件

在build.sbt中,我有:

  lazy val cloudwatch = (project in file("cloudwatch")).
  settings(commonSettings: _*).
  settings(
name := "Cloudwatch",
libraryDependencies += cloudwatchDependencies
)

但我无法导入或获取依赖项。是不是有什么明显的错误让我错过了?这是正确/错误的方法吗


感谢您的帮助/建议

配置对象需要驻留在特殊位置:
/project
。 如果你把它们移到那里,一切都会好起来的

见:

如果您想拥有每个项目的配置,可以为每个项目单独设置一个
build.sbt
。这种方法的另一个好处是,它是解决这个问题的惯用方法

设置可能如下所示:

root
-build.sbt
-cloudwatch.sbt
- ProjA
--build.sbt
-ProjB
--build.sbt
如果您仍然需要更高的粒度,则可以有几个
*.sbt
文件,这些文件都将包含在
build.sbt

root
-build.sbt
- ProjA
--build.sbt
-ProjB
--build.sbt

您好,感谢您抽出时间回复。当你说特别的地方。。。在IntelliJ中,我有一个“project[projName build](sources root)”旁边有一个蓝色的scala图标,这就是你说你很漂亮的地方,谢谢!把它放进去,瞧!所有的红色波浪都消失了!再次感谢!!!:D