无法使用有效的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