sbt 包正在尝试下载路径不存在的包

ILi*_*cos 1 scala sbt apache-spark

这些是我的 build.sbt 文件的内容:

name := "WordCounter"

version := "0.1"

scalaVersion := "2.13.1"

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % "2.4.5"
)
Run Code Online (Sandbox Code Playgroud)

当我尝试运行时,sbt package这是我得到的输出

[error] sbt.librarymanagement.ResolveException: Error downloading org.apache.spark:spark-core_2.13:2.4.5
[error] not found: https://repo1.maven.org/maven2/org/apache/spark/spark-core_2.13/2.4.5/spark-core_2.13-2.4.5.pom
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中导航到该 URL,我可以确认它不存在,它会返回 404 代码。

我不明白的是为什么当存储库只列出最新的依赖项时sbt尝试去。spark-core_2.13spark-core_2.12

我的build.sbt文件有问题吗?有没有办法告诉 SBT 只为该依赖项转到任意路径?

Ram*_*ram 6

你的 Scala 版本 scalaVersion := "2.13.1" 是罪魁祸首。

因为你有高于 Scala 版本并且你的依赖是

 "org.apache.spark" %% "spark-core" % "2.4.5"
Run Code Online (Sandbox Code Playgroud)

所以它试图找出用 2.13 编译的 spark-core 2.4.5 工件并且它不存在......

有关 Scala Spark 版本的兼容性,请参见此处

Spark 在 Java 8、Python 2.7+/3.4+ 和 R 3.1+ 上运行。对于 Scala API,Spark 2.4.5 使用 Scala 2.12。您将需要使用兼容的 Scala 版本 (2.12.x)。

也可以在这里查看 mvn repo

如果您将其更改为 2.12,它将起作用。

我认为没有与 scala 2.13 兼容的 spark 版本。看这里

在此处输入图片说明