我的 build.sbt 看起來像這樣:
libraryDependencies = Seq(
"org.apache.hadoop" % "hadoop-aws" % sparkVersion % Provided,
"org.apache.spark" %% "spark-core" % sparkVersion % Provided,
"org.apache.spark" %% "spark-sql" % sparkVersion % Provided,
"org.scala-lang" % "scala-library" % scalaVersion.value % Provided
)
從 Intellij 運行我的應用程式時,我收到NoClassDefFoundError例外,因為它找不到Spark庫。所以在使用 Intellij 時,我需要:
libraryDependencies = Seq(
"org.apache.hadoop" % "hadoop-aws" % sparkVersion,
"org.apache.spark" %% "spark-core" % sparkVersion,
"org.apache.spark" %% "spark-sql" % sparkVersion,
"org.scala-lang" % "scala-library" % scalaVersion.value % Provided
)
但這會導致最終的扁平罐非常大。
如何根據是否使用 Intellij 擁有不同的提供依賴項串列?
uj5u.com熱心網友回復:
我的用例的解決方案是檢查 IntelliJAdd dependencies with "provided" scope to classpath選項。在這里找到:
如何有效地使用 SBT、Spark 和“提供的”依賴項?
由于 UI 發生了變化,以下是 Intellij 2021.2.3 的螢屏截圖:

選擇后,您應該看到:

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/336907.html
