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

时间:2013-07-30 20:54:10

标签: scala sbt

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

  

如果希望依赖项仅在类路径中显示为Test   配置而不是编译配置,添加%“test”之类的   这样:

libraryDependencies += "org.apache.derby" % "derby" % "10.4.1.3" % "test"

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

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

libraryDependencies in Test += "org.apache.derby" % "derby" % "10.4.1.3"

1 个答案:

答案 0 :(得分:4)

最后作为字符串的配置是Ivy configuration,更准确地描述为配置映射。 in Test并未涵盖所有用例,但它确实涵盖了常见用例。

0.13的Detailed-Topics/Dependency-Management页面也提供了更多相关信息。配置是常春藤功能。它们可以被认为是Maven范围的概括。

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