【问题标题】:SBT dependency ErrorSBT 依赖错误
【发布时间】:2018-04-10 03:54:47
【问题描述】:

这是我编写的SBT构建文件

name := "HelloSpark"

version := "1.0"

scalaVersion := "2.12.2"

libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.1.1"

当我运行 sbt package 时,我收到错误消息

[错误] (*:update) sbt.ResolveException: unresolved dependency: org.apache.spark#spark-core_2.11;2.1.1: not found

[错误] 总时间:2 秒,2017 年 10 月 29 日上午 1:01:13 完成

【问题讨论】:

  • 一般来说,您不能将一个版本的 Scala 编译器与使用不同版本构建的库一起使用。在这里,您指定了一个 Scala 2.12 编译器以及为 Scala 2.11 构建的库。那是行不通的。为确保库与编译器匹配,如果在组织和工件名称之间使用%% 运算符,则可以跳过版本后缀。也就是说,使用 "org.apache.spark" %% "spark-core" % "2.1.1" 的依赖项而不是 "org.apache.spark" % "spark-core_2.11" % "2.1.1"Spark 目前不支持 2.12,所以设置scalaVersion := "2.11.11"
  • 您使用的是公司网络吗?你可能在代理背后?你能显示来自sbt package 的整个日志吗? (编辑您的问题并粘贴输出)。谢谢。

标签: scala apache-spark sbt


【解决方案1】:

使用 Scala 2.11

scalaVersion := "2.11.11"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.1"

using scala 2.12 with spark 2.1

Spark 不支持 Scala 2.12

以防万一,您可以在此处找到 spark-core 的二进制文件: https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.11

【讨论】:

  • 您好 Dmytro,感谢您的建议。现在说得通了。但是我的系统中安装了 scala 2.12。并且更改 scala 版本会引发另一个错误。 --- at java.lang.Thread.run(Thread.java:748) [error] (*:update) sbt.ResolveException: unresolved dependency: org.scala-lang#scala-library;2.11.11: not found [错误]未解决的依赖项:org.scala-lang#scala-compiler;2.11.11:未找到 [错误]总时间:4 s,完成于 2017 年 10 月 29 日凌晨 3:56:44。 -- 能否请您提出任何解决方法
  • @devD 你的 sbt 版本是什么?
  • 我的 sbt 版本是 0.13.16
  • @devD 系统上安装的 Scala 版本无关紧要,因为 sbt 将使用 scalaVersion 指定的版本.在我看来你的网络有问题。您是否通过代理访问互联网?
猜你喜欢
  • 1970-01-01
  • 2014-11-02
  • 2013-12-18
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2013-08-26
  • 2018-03-20
相关资源
最近更新 更多