Sbt Playframework 2.3.9依赖项覆盖

Sbt Playframework 2.3.9依赖项覆盖,sbt,playframework-2.3,Sbt,Playframework 2.3,从Play 2.3开始,Play作为SBT插件添加到myBuild.scala中,如下所示: Project("root", file(".")).enablePlugins(play.PlayScala) 还可以看一看 我需要更新一个特定的依赖项,即Fluentlenium(Play 2.3.9仍然使用0.9.3): 如何替换旧版本并替换为新版本?只需将库添加到libraryDependencies中,我就可以在类路径中同时使用这两个版本 编辑:在深入挖掘之后,似乎SBT 13.8附带的d

从Play 2.3开始,Play作为SBT插件添加到my
Build.scala中,如下所示:

Project("root", file(".")).enablePlugins(play.PlayScala)
还可以看一看

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

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


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

。但也可以从相同的文档中查看

有了它,您可以覆盖单个依赖项,这意味着您必须手动覆盖每个传递依赖项

只需将库添加到
libraryDependencies
中,我就可以在类路径中同时使用这两个版本

你确定吗?如果同一配置中有多个版本,则sbt(常春藤)应逐出旧版本

在大多数情况下

libraryDependencies += "org.fluentlenium" % "fluentlenium-core" % "0.10.3"
假设0.9.x与0.10.x是二进制兼容的,那么应该是可以的。如果要确保在传递依赖项解析期间覆盖它,
dependencyOverrides
可能是一种方法:

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

只需删除本地存储库文件夹中已有的fluentlenium 0.9.3,然后再试一次,恐怕这不是它的工作方式。
dependencyOverrides += "org.fluentlenium" % "fluentlenium-core" % "0.10.3"