我在built.sbt中添加了以下依賴項,在終端運行sbt run后,我得到以下錯誤:
$ sbt run
[info] welcome to sbt 1.5. 5 (Private Build Java 1.80_292)
[info] 從/home/hayat/.sbt/1.0/plugins加載全域插件。
[資訊]從/home/hayat/myproject/project加載專案定義。
[info] 從build.sbt加載for project root的設定 ...
[info] 設定當前專案為scala3-simple(在構建檔案:/home/hayat/myproject/)。
[info] Updating[/span]。
[info] Resolved dependencies
[警告]
[警告] Note: 未解決的依賴項路徑。
[error] sbt.librarymanagement.ResolveException。Error下載org.apache.spark:spark-streaming:3.1.2。
[錯誤] 未找到。
[錯誤]未找到。
[錯誤]未找到。/home/hayat/.ivy2/localorg.apache.spark/spark-streaming/3.1.2/ivys/ivy.xml
[錯誤]未找到:https://repo1.maven.org/maven2/org/apache/spark/spark-streaming/3.1.2/spark-streaming-3.1.2.pom。
[錯誤] 在 lmcoursier.CoursierDependencyResolution.unresolvedWarningOrThrow(CoursierDependencyResolution.scala:258)
[錯誤] 在 lmcoursier.CoursierDependencyResolution.$anonfun$update$38(CoursierDependencyResolution.scala:227)
[錯誤] 在scala.util.Either$LeftProjection.map(Either.scala:573)。
[錯誤] 在 lmcoursier.CoursierDependencyResolution.update(CoursierDependencyResolution.scala:227)
[錯誤] 在 sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:60)
[錯誤] 在 sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala: 59)
[錯誤] 在 sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:133)。
[錯誤] 在 sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:73)。
[錯誤] 在 sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$20(LibraryManagement.scala:146)。
[錯誤] at scala.util.control.Exception$Catch.apply(Exception.scala:228)
[錯誤] 在 sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:146)。
[錯誤] 在 sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:127)。
[錯誤] 在 sbt.util.Tracked$.$anonfun$inputChangedW$1(Tracked.scala:219)。
[錯誤] 在 sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:160)
[錯誤] 在 sbt.Classpaths$.$anonfun$updateTask0$1(Defaults.scala:3678)。
[錯誤] 在scala.Function1.$anonfun$compose$1(Function1.scala:49)。
[錯誤] 在 sbt.internal.util.$tilde$greater.$anonfun$u2219$1(TypeFunctions.scala:62)
[錯誤] 在 sbt.std.Transform$$anon$4.work(Transform.scala:68)
[錯誤] 在 sbt.Execute.$anonfun$submit$2(Execute.scala:282)。
[錯誤] 在 sbt.internal.util.ErrorHandling$.widthConvert(ErrorHandling.scala:23)
[錯誤] 在 sbt.Execute.work(Execute.scala:291)
[錯誤] 在 sbt.Execute.$anonfun$submit$1(Execute.scala:282)。
[error] at sbt.ConcurrentRestrictions$anon$4. $anonfun$submitValid$1(ConcurrentRestrictions.scala:265)。
[錯誤] 在 sbt.CompletionService$$anon$2.呼叫(CompletionService.scala:64)。
[錯誤] 在java.util.concurrent.FutureTask.run(FutureTask.java:266)
[錯誤] 在java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)。
[錯誤] 在java.util.concurrent.FutureTask.run(FutureTask.java:266)
[錯誤] 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[錯誤] 在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)。
[錯誤] 在java.lang.Thread.run(Thread.java:748)
[error] (update) sbt.librarymanagement.ResolveException。Error下載org.apache.spark:spark-streaming:3.1.2。
[錯誤] 未找到。
[錯誤]未找到。
[錯誤]未找到。/home/hayat/.ivy2/localorg.apache.spark/spark-streaming/3.1.2/ivys/ivy.xml
[錯誤]未找到:https://repo1.maven.org/maven2/org/apache/spark/spark-streaming/3.1.2/spark-streaming-3.1.2.pom。
[error] Total time: 7 s, completed Sep 16, 2021 11: 21:30 AM
這里是built.sbt:
val scala3Version = "3.0.2"
lazy val root = project
.in(file("。"))
.設定(
name := "scala3-simple",
版本 := "0.1.0"。
scalaVersion := scala3Version,
libraryDependencies = "com.novocode"/span> % "junit-interface"/span> % "0.11"/span> % "test"/span>。
libraryDependencies = "org.apache.spark"/span> % "spark-streaming"/span> % "3.1.2"/span>。
libraryDependencies = "org.apache.spark"% "spark-core"% "3.1.2"
-
Scala版本:3.0.2
。 -
<塊狀引號
Sbt版本:1.5.5
uj5u.com熱心網友回復:
庫spark-streaming和spark-core不存在,它是spark-streaming_2.12和spark-core_2.12,其中2.12是Scala的版本。目前還沒有spark-streaming_3.0和spark-core_3.0庫。
所以要解決你的問題,你需要:
- 降級你的庫。
- 將你的scala版本從
3.0.2降級到2.12.x(當前最新版本,2.12.15),因為沒有針對Scala 3的Spark版本 - 使用
spark-streaming_2.12庫而不是spark-streaming。
- 使用
spark-core_2.12庫,而不是spark-core。
要使用_2.12版本的庫,你可以在你的庫名中加入_2.12:
libraryDependencies = "org.apache.spark" % "spark-streaming_2.12" % "3.1.2" ,
libraryDependencies = "org.apache.spark" % "spark-core_2.12" % "3.1.2"
或者,最好在組和庫名之間使用%,自動將scala版本添加到庫名中:
libraryDependencies = "org.apache.spark"/span> % "spark-streaming"/span> % "3.1.2"/span>。
libraryDependencies = "org.apache.spark"/span> % "spark-core"/span> % "3.1.2"/span>
所以你的build.sbt應該變成:
val scala2Version = "2.12.15"
lazy val root = project
.in(file("。"))
.設定(
name := "scala2-simple",
版本 := "0.1.0"。
scalaVersion := scala2Version,
libraryDependencies = "com.novocode"/span> % "junit-interface"/span> % "0.11"/span> % "test"/span>。
libraryDependencies = "org.apache.spark"/span> % "spark-streaming"/span> % "3.1.2"/span>,
libraryDependencies = "org.apache.spark"% "spark-core"% "3.1.2"
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/310735.html
標籤:
