Scala:SBT 为每个阶段捆绑不同的库依赖项
Posted
技术标签:
【中文标题】Scala:SBT 为每个阶段捆绑不同的库依赖项【英文标题】:Scala: SBT bundle different library dependencies for each stage 【发布时间】:2018-04-08 05:55:41 【问题描述】:我有一个使用SBT
构建的Scala
项目。在build.sbt
中,我想捆绑一些仅在test
阶段而不是package
阶段使用的库依赖项。
例如,
如果我运行:sbt test
,我可能希望库依赖于 scala-test
,但如果我运行 sbt package
,我不希望依赖于 scala-test
。
我怎样才能做到这一点?
【问题讨论】:
把% "test"
放在依赖的末尾
@SethTisue 当我这样做时,运行时 jar 仍然会被拉出:“sbt package”。我希望只有在我进行“sbt test”时才将其拉出。在cache/.ivy2目录下可以看到
我认为您必须将测试代码放在不同的子项目中。
但是,我想知道检索依赖项有什么问题。如果依赖项不在任何不适当的上下文中的类路径上,并且在您运行package
时实际上没有捆绑,那么检索它有什么问题?好奇。
@SethTisue 第一条评论对我有用。谢谢。如果你能“回复”我的问题,我就能“接受”它。
【参考方案1】:
将 % "test"
放在依赖项的末尾,你就可以开始了!
【讨论】:
以上是关于Scala:SBT 为每个阶段捆绑不同的库依赖项的主要内容,如果未能解决你的问题,请参考以下文章
Sbt 0.13 插件依赖和 scala-reflect.jar 版本冲突
为啥 sbt 报告缺少 Scala 2.10.2 的库(自 8 月 1 日起)?