加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

为什么Scala 2.11和Spark带扇贝导致“java.lang.NoSuchMethodErr

发布时间:2020-12-16 09:18:23 所属栏目:安全 来源:网络整理
导读:我正在使用 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中运行程序. 我试图从命令行运行
我正在使用 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

我收到以下错误消息:

Exception in thread “main” java.lang.NoSuchMethodError:
scala.reflect.api.JavaUniverse.runtimeMirror(Ljava/lang/ClassLoader;)Lscala/reflect/api/JavaUniverse$JavaMirror;
at org.rogach.scallop.package$.(package.scala:37) at
org.rogach.scallop.package$.(package.scala) at
com.dtex.analysis.transform.GenUserSummaryView$Conf.delayedEndpoint$com$dtex$analysis$transform$GenUserSummaryView$Conf$1(GenUserSummaryView.scala:27)
at
com.dtex.analysis.transform.GenUserSummaryView$Conf$delayedInit$body.apply(GenUserSummaryView.scala:26)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40) at
scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at org.rogach.scallop.AfterInit$class.delayedInit(AfterInit.scala:12)
at org.rogach.scallop.ScallopConf.delayedInit(ScallopConf.scala:26)
at
com.dtex.analysis.transform.GenUserSummaryView$Conf.(GenUserSummaryView.scala:26)
at
com.dtex.analysis.transform.GenUserSummaryView$.main(GenUserSummaryView.scala:54)
at
com.dtex.analysis.transform.GenUserSummaryView.main(GenUserSummaryView.scala)

解决方法

问题是您使用了不兼容的Scala版本,即Spark是使用Scala 2.10编译的,而您正在尝试使用Scala 2.11.

将所有内容移至Scala 2.10版本,并确保更新您的SBT.

您也可以尝试为Scala 2.11.7编译Spark源,并使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读