首页 > 解决方案 > IntelliJ sbt 未解决的依赖关系

问题描述

我在 IntelliJ 2019.1 中导入了一个 scala sbt 项目。在两台独立的计算机上操作:
- 具有典型互联网连接的计算机 1 - 我们称其为“正常”
- 没有互联网连接的计算机 2 - 将其命名为“盲”

在“普通”和“盲”计算机上,正在安装具有相同版本的 IntelliJ 和 scala 插件。在“普通”计算机上运行时,一切顺利——能够从 IntelliJ sbt shell 编译、清理、汇编代码。在“盲”计算机上操作时,我无法构建项目 - 在 sbt 控制台中出现未解决的依赖项错误。我已经将依赖项从~/.sbt, ~/.ivy2,~/.m2目录从“正常”移动到“盲”计算机。

错误信息:

[info] Loading settings from idea.sbt ... 
[info] Loading global plugin from /home/myuser/.sbt/1.0/plugins
[info] Updating {file:/home/tomaszk/.sbt/1.0/plugins/}global-plugins...
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] :: io.github.sugakandrey#scala-compiler-indices-protocol_2.12;0.1.1: Resolution failed several times for dependency: io.github.sugakandrey#scala-compiler-indices-protocol_2.12;0.1.1 {compile=[default(compile)]}
...
[error] sbt.librarymanagement.ResolveException: unresolved dependency: io.github.sugakandrey#scala-compiler-indices-protocol_2.12...

build.properties

sbt.version=1.0.3

构建.sbt

name := "my_proj"
version := "1.0"

scalaVersion := "2.10.5"

libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.6.3" % "provided"
libraryDependencies += "org.apache.spark" % "spark-sql_2.10" % "1.6.3" % "provided"
libraryDependencies += "joda-time" % "joda-time" % "2.10.1"
libraryDependencies += "com.databricks" % "spark-csv_2.10" % "1.5.0"
libraryDependencies += "com.typesafe" % "config" % "1.3.1"
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false)
assemblyJarName in assembly := "my_proj.jar"

我应该更改 sbt 版本还是移动另一个目录,这会导致一些依赖关系或问题与其他问题有关?

这个话题与我之前的问题有点相关:Use Scala on computer without internet connection

标签: intellij-ideasbtintellij-plugin

解决方案


正如@MarioGalic 所建议的那样,问题出在 scala 和 sbt 版本上——必须将 IntelliJ Scala 插件从 2019.1.9 降级到 2019.1.3 才能解决问题。


推荐阅读