簡體   English   中英

SBT:添加第三方庫依賴項但NoClassDefFoundError

[英]SBT: add third party library dependency but NoClassDefFoundError

我使用sbt構建我的Scala項目。

這是我的build.sbt文件:

name := "SpatialSpark"

version := "1.0"

scalaVersion := "2.10.4"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.2.1"

libraryDependencies += "com.vividsolutions" % "jts" % "1.13"

然后,我嘗試將其包裝到jar中。 sbt package

最后,我將此提交到Apache-Spark

spark-submit --class "com.chen.spatial.SpatialApp" --master local[4] target/scala-2.10/spatialspark_2.10-1.0.jar 

它會導致NoClassDefFoundError錯誤,

Exception in thread "main" java.lang.NoClassDefFoundError: com/vividsolutions/jts/index/strtree/STRtree

我把東西裝進罐子里想念嗎?

您應該創建一個超級jar ,然后運行

sbt assembly

它應該工作

請查看以下模板項目:

https://github.com/spektom/spark-scala-template

要構建uberjar運行:

sbt assembly

要在Spark中運行Jar:

$SPARK_HOME/bin/spark-submit --class com.github.spark.App spark-scala-assembly-0.0.1.jar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM