val scalaToolsSnapshots = "Scala-Tools Maven2 Snapshots Repository" at "http://scala-tools.org/repo-snapshots"
val specs = "org.scala-tools.testing" % "specs_2.9.0-1" % "1.6.8" % "test"
这是什么意思?
maven 非常相似:第一行表示在哪里找到存储库,第二行定义依赖关系,如 "groupId" % "artifactId" % "version" % "scope"
sbt wiki 页面(第托管依赖项部分)
scalaVersion := "2.9.0-1"
scalaToolsSnapshots := "Scala-Tools Maven2 Snapshots Repository" at "http://scala-tools.org/repo-snapshots"
specs := "org.scala-tools.testing" %% "specs" % "1.6.8" % "test"
%%
将指定 sbt 使用与您的项目 scala 版本二进制兼容的规范版本。您应该考虑使用它,特别是如果您计划升级 scala 版本或计划针对多个 scala 版本发布库。
在底层,第一个 String 使用
GroupID
方法隐式转换为
%%
,将下一个 String 转换为
GroupArtifactId
,接下来的
%
创建一个
ModuleID
,最后一个
%
添加范围
ModuleID
。
“at”方法在字符串上定义并返回解析器。 '%' 方法在字符串上定义,并返回 ModuleID。