在SBT中范围库依赖项的特定语法?

Seb*_*ber 12 scala sbt

http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Library-Dependencies.html

如果要在类路径中仅显示依赖于Test配置而不是Compile配置的依赖项,请像这样添加%"test":

libraryDependencies += "org.apache.derby" % "derby" % "10.4.1.3" % "test"
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么我们使用这种表示法吗?我的意思是最后的配置?

为什么我们不写这样的东西:

libraryDependencies in Test += "org.apache.derby" % "derby" % "10.4.1.3"
Run Code Online (Sandbox Code Playgroud)

Mar*_*rah 5

作为字符串结尾的配置Ivy配置,并且更准确地描述为配置映射。 in Test尽管涵盖了常见用例,但并未涵盖所有用例。

0.13的“ 详细主题/依赖关系管理”页面也提供了更多信息。配置是常春藤功能。可以将它们视为Maven范围的概括。

请注意,Maven范围以外的任何内容都需要ivy.xml形式的元数据。对于使用publish-local发布到本地存储库,发布到Ivy存储库或在发布之前在本地版本中使用的元数据,就是这种情况。pom.xml形式的元数据(例如来自Maven Central的元数据)仅限于标准Maven范围。