java.lang.NoSuchMethodError scala.Predef $ .ArrowAssoc(Ljava / lang / Object;)Ljava / lang / Object;

时间:2017-04-27 09:30:46

标签: java scala java-8 unsupported-class-version

在oozie作业的运行时出现以下错误,我们从1.7迁移java jdk 1.8并且编译成功。

Caused by: java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;
        at com.twitter.scalding.RichXHandler$.<init>(XHandler.scala:38)
        at com.twitter.scalding.RichXHandler$.<clinit>(XHandler.scala)
        at com.twitter.scalding.Tool$.main(Tool.scala:152)
        at com.twitter.scalding.Tool.main(Tool.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.oozie.action.hadoop.JavaMain.run(JavaMain.java:56)

1 个答案:

答案 0 :(得分:0)

我有同样的问题。我的集群使用Scala 2.10时使用2.11。您必须使用与运行的环境/群集相同的scala版本。如果运行spark-shell,则可以看到使用了哪个scala版本。

> spark-shell
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 1.6.3
      /_/

Using Scala version **2.10.5** (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_40)