如何解决IntelliJ SBT包含的库中的版本冲突

时间:2014-09-21 22:27:27

标签: intellij-idea sbt scalatest

我在我的项目中使用ScalaTest 2.2.1,但我使用的某些依赖项会带来ScalaTest 1.9.2。在SBT中,这不会引起任何问题。它编译并运行所有测试。

在IntelliJ中,测试显示in使用"无法解析"虽然它仍然编译。然而,测试运动员死于"

An exception or error caused a run to abort: org.scalatest.FlatSpecLike$$anonfun$1$$anon$2 cannot be cast to org.scalatest.words.ResultOfStringPassedToVerb

如果我从外部库中手动删除ScalaTest 1.9.2,则所有内容都会再次运行,但当然下次项目刷新时,我会回到原点。

IntelliJ中是否存在一些我需要设置冲突解决的配置,或者这是一个IntelliJ错误?

1 个答案:

答案 0 :(得分:1)

SBT在内部默认其conflictManagerlatestRevision。但是,当intellij运行自己的SBT版本时,它似乎没有设置相同的默认值。似乎工作的是在SBT配置中明确设置冲突管理器:

conflictManager := ConflictManager.latestRevision

Intellij仍会在我的场景中将测试的某些方面的颜色编码为“无法解析符号”,但是编译,而不是测试运行都不再失败