2016-11-08 188 views
8

每當我試圖啓用自動導入中的IntelliJ它總是給我這個錯誤:SBT項目刷新失敗[的IntelliJ,斯卡拉,SBT]

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的斯卡拉插件,然後打開一個目錄與SBT構建和重置/重新啓動我的緩存(文件 - >無效緩存/重新啓動)。但它仍然不起作用!有誰知道爲什麼?

回答

23

您的scalatest相關性配置錯誤。你想爲Scala 2.12發佈scalatest版本2.6。沒有這樣的組合,因此你的構建失敗。如果你看看哪個版本的Scalatest可用於Scala 2.12,這裏是link。正如你所看到的,它只是版本3.0.0。所以,你有3個選項(這些都是在你的build.sbt文件,你需要進行更改):

  1. 更新您的scalatest版本3.0.0:libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % Test
  2. 降級您的斯卡拉版本2.11:scalaVersion := "2.11.8"
  3. 以上都是

我會說現在使用Scala 2.12有點太早了,因爲它只是幾天前發佈的,並不是所有的依賴項都已經發布了。 Scala主要版本(2.11和2.12是Scala的一個主要版本升級)不是二進制兼容的,所以你不能在使用另一個Scala版本的項目中使用一個Scala版本編譯的庫。

與此同時,我會去與scalatest 3.0.0版本,因爲它是穩定的。總而言之,儘管選項1和2將以不同的方式解決這個特殊問題,但我現在還是選擇3。

+0

謝謝!它現在有效 – sarah