0
我在Breeze库中添加了一些方法,我可以通过IDE查看这些方法。我试图将我自己构建的Breeze库添加到基于Apache Spark的项目中。但是,当我通过命令“sbt assembly”打包我的项目并在我的集群上运行它时,它会抛出一个错误“no such method xxx”,这意味着集群实际上并未运行我的Breeze库。那么有谁能告诉我如何让集群运行由我自己构建的Breeze库吗?如何将我自己构建的Breeze添加到Apache Spark?
我已经建立微风并将其发布到.m2存储库并通过maven命令“mvn package”构建spark。之后,我用我刚创建的同名jar文件替换了我的集群上Spark的lib文件夹中的spark-assembly-1.3.0-hadoop1.0.4.jar。我也把这个jar放到我的项目的lib文件夹中,并通过命令“sbt assembly”打包我的项目。当我将项目提交给群集时,它会抛出如下错误: 执行程序sr476上阶段0.0(TID 449)中的任务126.2丢失:java.lang.NoClassDefFoundError(无法初始化类breeze.linalg.DenseVector $)[duplicate 200] – Mark 2015-04-10 13:56:47
您正在获取'java.lang.NoClassDefFoundError'而不是'java.lang.ClassNotFoundException'。这意味着有这样的类,但它包含初始化中的一些错误(可能从您的自定义代码传播或由于某些不兼容)。不幸的是,我不能说更多关于此:( – ipoteka 2015-04-10 15:55:09
谢谢。我刚刚发现我使用错误的scala版本2.11.x而不是2.10.4,这会导致错误。问题解决!非常感谢! – Mark 2015-04-11 06:23:32