斯卡拉(Scala)。实例化特征时出现NoSuchMethodException

时间:2018-06-22 20:43:32

标签: scala

重构一些项目后,当我调用一个从Spring Boot应用程序实现特征的scala类时,出现以下异常

  

8/06/22 13:32:26错误SpringApplication:应用程序启动失败   org.springframework.beans.factory.BeanCreationException:在URL [jar:file:/home/xxxx/environment/spark-2.2.1-bin-hadoop2.7 /./ xxxx / ikodaanalysis中创建名称为“ MLController”的bean时出错-mlserver-0.1.0.jar!/xxx/mlserver/MLController.class]:实例化bean失败;嵌套的异常是org.springframework.beans.BeanInstantiationException:无法实例化[xxx.mlserver.MLController]:构造函数引发了异常;嵌套的异常是java.lang.NoSuchMethodError:ikoda.utilobjects.SparkConfProviderWithStreaming。$ init $(Lxxx / utilobjects / SparkConfProviderWithStreaming;)V

我检查了依赖性,所有内容似乎都存在于jar中。 那我为什么要得到例外?

1 个答案:

答案 0 :(得分:0)

我找到了答案here。我觉得这可能是一个相当普遍的问题,值得在SO上进行报道。

  

我认为它取决于Java 8和Scala 2.12,期望在ScalaDsl.class文件(以新样式Traits作为接口)而不是ScalaDsl $ class.class文件(将旧式Traits作为接口和支持班)。

     

......   我认为Scala 2.12软件包需要编译(不仅仅是运行)   Java 8避免了这个问题。