2015-03-19 67 views
0

我使用sbt來構建我的Scala項目。SBT:添加第三方庫依賴項但NoClassDefFoundError

這裏是我的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時,我錯過了什麼?

回答

1

您應該創建一個uber jar和運行

sbt assembly 

後,它應該工作

+0

爲什麼'sbt'沒有內置的插件,提供這樣的功能? – chenzhongpu 2015-03-19 02:00:28

+0

我不知道別人(比如gradle),但Maven也沒有。 – Krever 2015-03-19 10:08:16

+0

如果這解決了您的問題,請upvote和/或接受答案:) – 2015-05-11 20:32:00

相關問題