【发布时间】:2014-07-04 10:21:46
【问题描述】:
我有一个可以从 sbt 控制台运行的 Spark 项目。但是,当我尝试从命令行运行它时,我在线程“main”java.lang.NoClassDefFoundError:org/apache/spark/SparkContext 中得到异常。这是意料之中的,因为 Spark 库在 build.sbt 中列为 provided。
如何配置,以便我可以从命令行运行 JAR,而不必使用 sbt 控制台?
【问题讨论】:
-
您可以使用github.com/sbt/sbt-assembly 来构建一个包含所有依赖项的jar。
-
@lpeipiora - 我确实在使用 sbt-assembly,但 spark jar 被标记为
provided,因此不包含在程序集中 -
你能发布你的示例构建,我可以帮你回答吗?我的猜测是一些“编译->提供”的魔法说明符会起作用。
标签: scala sbt apache-spark