【发布时间】:2015-03-11 00:22:15
【问题描述】:
我正在使用 Scala 2.11、Spark 和 Scallop (https://github.com/scallop/scallop)。我使用 sbt 构建了一个没有 Spark 提供依赖项的应用程序 fat jar(位于:analysis/target/scala-2.11/dtex-analysis_2.11-0.1.jar)
我可以在 sbt 中正常运行程序。
我尝试从命令行运行它,如下所示:
time ADD_JARS=analysis/target/scala-2.11/dtex-analysis_2.11-0.1.jar java -cp /Applications/spark-1.2.0-bin-hadoop2.4/lib/spark-assembly-1.2.0-hadoop2.4.0.jar:analysis/target/scala-2.11/dtex-analysis_2.11-0.1.jar com.dtex.analysis.transform.GenUserSummaryView -d /Users/arun/DataSets/LME -p output -s txt -o /Users/arun/tmp/LME/LME
我收到以下错误消息:
线程“主”java.lang.NoSuchMethodError 中的异常: scala.reflect.api.JavaUniverse.runtimeMirror(Ljava/lang/ClassLoader;)Lscala/reflect/api/JavaUniverse$JavaMirror; 在 org.rogach.scallop.package$.(package.scala:37) 在 org.rogach.scallop.package$.(package.scala) 在 com.dtex.analysis.transform.GenUserSummaryView$Conf.delayedEndpoint$com$dtex$analysis$transform$GenUserSummaryView$Conf$1(GenUserSummaryView.scala:27) 在 com.dtex.analysis.transform.GenUserSummaryView$Conf$delayedInit$body.apply(GenUserSummaryView.scala:26) 在 scala.Function0$class.apply$mcV$sp(Function0.scala:40) 在 scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) 在 org.rogach.scallop.AfterInit$class.delayedInit(AfterInit.scala:12) 在 org.rogach.scallop.ScallopConf.delayedInit(ScallopConf.scala:26) 在 com.dtex.analysis.transform.GenUserSummaryView$Conf.(GenUserSummaryView.scala:26) 在 com.dtex.analysis.transform.GenUserSummaryView$.main(GenUserSummaryView.scala:54) 在 com.dtex.analysis.transform.GenUserSummaryView.main(GenUserSummaryView.scala)
【问题讨论】:
-
看起来你的类路径缺少 scala-reflect.jar
标签: scala apache-spark sbt