排除 specs2 作为 sbt 中 play 框架的传递依赖

Posted

技术标签:

【中文标题】排除 specs2 作为 sbt 中 play 框架的传递依赖【英文标题】:Exclude specs2 as transitive dependency of play framework in sbt 【发布时间】:2019-01-22 09:32:41 【问题描述】:

我正在尝试将 specs2 v3.10.0 与 Play Framework v2.2.3 一起使用,但 Play 依赖于 specs2 v2.1.1,而且它们似乎相互干扰。

在我的 plugins.sbt 文件中,我有:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.3" exclude("org.specs2", "specs2"))

见Dependencies file of Play Framework 2.2.x

这是我的 Ivy 解析缓存报告的屏幕截图,显示了 specs2 的两个版本被解析为测试依赖项:

resolution cache report

【问题讨论】:

【参考方案1】:

据我所知,插件依赖项并未解析为测试依赖项。 您可能需要在 build.sbt 中排除依赖项,而不是在 plugins.sbt 中。

【讨论】:

以上是关于排除 specs2 作为 sbt 中 play 框架的传递依赖的主要内容,如果未能解决你的问题,请参考以下文章

如何让sbt在子项目specs2运行中使用正确的类加载器?

Specs2 测试无法在 IntelliJ 中原生运行

Play 2.4.0 功能测试中的 Specs2/Guice 问题

Play2/Specs2 中的 Slick/Postgres 数据库测试问题

玩 2.3.8 sbt 不包括 logback

Play Framework中,打包时如何排除文件?