且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SBT项目刷新失败[IntelliJ,Scala,SBT]

更新时间:2023-09-18 10:44:16

您的最糟糕的依赖项配置错误。您想要为Scala 2.12发布的scalatest 2.6版。没有这样的组合,因此您的构建失败。如果你看看Scala 2.12的scalatest版本是什么,这里是链接。如您所见,它只有3.0.0版本。因此,您有3个选项(您需要在 build.sbt 文件中进行更改):

Your scalatest dependency is misconfigured. You want scalatest version 2.6 published for Scala 2.12. There is no such combination, hence your build fails. If you have a look at which version of scalatest is available for Scala 2.12, here's the link. As you can see, it's only version 3.0.0. So, you have 3 options (those are changes in your build.sbt file you need to make):


  1. 将您的最新版本更新为3.0.0: libraryDependencies + =org.scalatest%%scalatest%3.0.0%Test

  2. 将Scala版本降级为2.11: scalaVersion:=2.11.8

  3. 以上两个

我说使用Scala 2.12还为时尚早,因为它只发布了几天以前,并没有为它发布所有依赖项。 Scala主要版本(2.11 vs 2.12是Scala的主要版本升级)不是二进制兼容的,因此您不能在使用另一个的项目中使用使用一个Scala版本编译的库。

I'd say it's a bit too early to use Scala 2.12, since it was only released a couple of days ago, and not all of the dependencies are published for it yet. Scala major versions (2.11 vs 2.12 is a major version upgrade for Scala) are not binary compatible, so you can't use a library compiled with one Scala version in a project that uses the other.

与此同时,我会使用最新的3.0.0版本,因为它是稳定版本。总而言之,即使选项1和2将以不同的方式解决这一特定问题,我也会选择第3选项。

At the same time, I'd go with scalatest 3.0.0 version, since it's the stable one. So all in all, I'd go for option 3 at the moment, even though options 1 and 2 will fix this particular problem, in different ways.