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

13
每当我尝试在IntelliJ中启用自动导入时,它总是给出以下错误提示:

每当我尝试在IntelliJ中启用自动导入时,它总是给出以下错误提示:

SBT 'Example' project refresh failed

Error while importing SBT project:
...
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/org/scalatest/scalatest_2.12/2.2.6/scalatest_2.12-2.2.6.pom
[info] Resolving org.scala-lang#scala-compiler;2.12.0 ...
[info] Resolving org.scala-lang#scala-reflect;2.12.0 ...
[info] Resolving org.scala-lang.modules#scala-xml_2.12;1.0.5 ...
[info] Resolving jline#jline;2.14.1 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.scalatest#scalatest_2.12;2.2.6: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Unresolved dependencies path:
[warn]      org.scalatest:scalatest_2.12:2.2.6 (/Users/sarahbaka/Desktop/Scala/Example/build.sbt#L7-8)
[warn]        +- default:example_2.12:1.0
[trace] Stack trace suppressed: run 'last *:update' for the full output.
[trace] Stack trace suppressed: run 'last *:ssExtractDependencies' for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: org.scalatest#scalatest_2.12;2.2.6: not found
[error] (*:ssExtractDependencies) sbt.ResolveException: unresolved dependency: org.scalatest#scalatest_2.12;2.2.6: not found
[error] Total time: 4 s, completed 08-Nov-2016 22:24:34</pre><br/>

我已经安装了JetBrains Scala插件,然后打开了一个带有SBT构建的目录并重置/重新启动了缓存(文件->无效缓存/重新启动)。但它仍然不起作用!有人知道为什么吗?

1个回答

32
您的 scalatest 依赖项配置错误。您想要针对 Scala 2.12 发布的 scalatest 版本为 2.6。然而,没有这样的组合,因此您的构建失败了。如果您查看可用于 Scala 2.12 的 scalatest 版本,可以在这里找到 链接。正如您所见,只有版本 3.0.0。因此,您有 3 个选项(这些是您需要进行更改的build.sbt文件):
  1. 将 scalatest 版本更新为 3.0.0:libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % Test
  2. 将 Scala 版本降级为 2.11:scalaVersion := "2.11.8"
  3. 两者兼备
我认为现在使用 Scala 2.12 还为时过早,因为它只发布了几天,并且并不是所有依赖项都已经发布了。Scala 主要版本(Scala 2.11 和 2.12 是 Scala 的主要版本升级)不是二进制兼容的,因此您无法在使用另一个 Scala 版本编译的库中使用该项目。
同时,我会选择稳定的 scalatest 3.0.0 版本。因此,总的来说,目前我会选择选项 3,即使选项 1 和 2 可以以不同的方式解决此特定问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接