【问题标题】:Specific syntax to scope library dependencies in SBT?SBT中范围库依赖项的特定语法?
【发布时间】:2013-07-31 04:48:38
【问题描述】:

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

如果您希望依赖项仅在测试中显示在类路径中 配置而不是编译配置,添加 % "test" 之类的 这个:

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

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

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

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

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

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

    0.13 的Detailed-Topics/Dependency-Management 页面也有更多信息。配置是 Ivy 的一项功能。它们可以被认为是 Maven 作用域的概括。

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

    【讨论】:

    • 谢谢,我想我现在明白了。用maven是不可能的吧?因为 maven 使用本地发布的工件,并且只发布了 src/main/。 test->test 在某些情况下可能对我有用
    猜你喜欢
    • 1970-01-01
    • 2015-05-24
    • 2022-11-10
    • 2012-11-14
    • 1970-01-01
    • 2013-08-26
    • 2016-05-16
    • 2015-08-26
    • 2018-03-20
    相关资源
    最近更新 更多