每当我尝试在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构建的目录并重置/重新启动了我的缓存(文件 - &gt; Invalidate Caches / Restart)。但它仍然不起作用!有谁知道为什么?
答案 0 :(得分:31)
您的最糟糕的依赖项配置错误。您想要为Scala 2.12发布的scalatest 2.6版。没有这样的组合,因此您的构建失败。如果您查看Scala 2.12的scalatest版本,请访问link。如您所见,它只有3.0.0版本。因此,您有3个选项(您需要在build.sbt
文件中进行更改):
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % Test
scalaVersion := "2.11.8"
我说使用Scala 2.12还为时过早,因为它仅在几天前发布,而且并非所有依赖项都已发布。 Scala主要版本(2.11 vs 2.12是Scala的主要版本升级)不是二进制兼容的,因此您不能在使用另一个的项目中使用使用一个Scala版本编译的库。
与此同时,我选择了最新的3.0.0版本,因为它是稳定版本。总而言之,即使选项1和2将以不同的方式解决这一特定问题,我现在也会选择选项3。