Playframework 2.3.9依赖覆盖

时间:2015-05-20 13:04:51

标签: sbt playframework-2.3

从播放2.3开始,播放作为SBT插件添加到我的Build.scala中,如下所示:

Project("root", file(".")).enablePlugins(play.PlayScala)

另请查看documentation

我需要更新特定的依赖项,即Fluentlenium(Play 2.3.9仍然使用0.9.3):

"org.fluentlenium" % "fluentlenium-core" % "0.10.3"

如何更换旧版本并将其替换为较新版本?只需将库添加到libraryDependencies,我就可以在类路径中使用这两个版本。

编辑:在深入挖掘之后,似乎SBT 13.8附带的dependencyOverrides的(新的?)功能可能是一个解决方案:

Overriding a version。但是也可以从同一文档中查看Conflict Management

使用此功能,您可以覆盖单个依赖项,这意味着您必须手动覆盖每个传输依赖项。

1 个答案:

答案 0 :(得分:1)

  

只需将库添加到libraryDependencies,就可以在类路径中找到两个版本。

你确定吗?如果同一配置中有多个版本,sbt(Ivy)应该逐出旧版本。

在大多数情况下

libraryDependencies += "org.fluentlenium" % "fluentlenium-core" % "0.10.3"

应该没问题,认为0.9.x与0.10.x二进制兼容。如果您想确保在传递依赖性解析期间覆盖它,dependencyOverrides可能是要走的路:

dependencyOverrides += "org.fluentlenium" % "fluentlenium-core" % "0.10.3"