Playframework 2.3.9依赖覆盖

man*_*ana 5 sbt playframework-2.3

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

Project("root", file(".")).enablePlugins(play.PlayScala)
Run Code Online (Sandbox Code Playgroud)

另请查看文档.

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

"org.fluentlenium" % "fluentlenium-core" % "0.10.3"
Run Code Online (Sandbox Code Playgroud)

如何更换旧版本并将其替换为较新版本?只需libraryDependencies在类路径中添加两个版本的库就可以了.


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

覆盖版本.但是也可以从相同的文档中看一下冲突管理.

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

Eug*_*ota 1

只需将库添加到libraryDependencies类路径中,我就会在类路径中留下两个版本。

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

在多数情况下

libraryDependencies += "org.fluentlenium" % "fluentlenium-core" % "0.10.3"
Run Code Online (Sandbox Code Playgroud)

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

dependencyOverrides += "org.fluentlenium" % "fluentlenium-core" % "0.10.3"
Run Code Online (Sandbox Code Playgroud)