我有一个多模块的SBT项目,其中几个子项目依赖于相同的工件。我想在根项目中管理这些公共依赖项的版本,这样我就可以在子项目中执行类似的操作(global.SprayVersion应该来自根项目):
libraryDependencies += "io.spray" % "spray-client" % global.SprayVersion
我试过的是:
valval myDepVersion = '1.0'应该为每个依赖项定义新的SettingKeys吗?我觉得这有点过头了。我希望保持更多的分组,而不是污染设置键命名空间。另外,子项目不需要覆盖这些值。
发布于 2014-06-09 12:24:49
例如,可以在单独的对象中定义依赖关系序列,如下所示:
object Deps {
val akka = Seq(
"com.typesafe.akka" %% "akka-actor" % Global.akkaVersion,
"com.typesafe.akka" %% "akka-slf4j" % Global.akkaVersion
"com.typesafe.akka" %% "akka-testkit" % Global.akkaVersion % "test"
)
}其中,Global只是一个包含多个字符串的对象:
object Global {
val akkaVersion = "2.2.4"
}然后,您可以在您的子项目中使用Deps内容:
val project1 = Project(...)
.settings(libraryDependencies ++= Deps.akka)
val project2 = Project(...)
.settings(libraryDependencies ++= Deps.akka)https://stackoverflow.com/questions/24119502
复制相似问题