如何解决/ storm / lib中的jar与提交给storm cluster的jar之间的版本不兼容性(jar-with-dependencies)

时间:2016-06-29 02:59:22

标签: maven apache-storm

我有一个使用kafka-spout从kafka读取数据的拓扑,并将处理后的数据推送到elasticsearch。我用过,elasticsearch-2.3.3客户端。它需要guava-18.0 jar依赖。我已经使用maven形成了一个jar-with-dependencies。在将拓扑提交到风暴之后,我得到了以下错误

java.lang.NoSuchMethodError:com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava / util / concurrent / Executor;在org.elasticsearch.threadpool.ThreadPool。(ThreadPool.java:190)

在搜索上述错误后,得知这是由于番石榴罐不匹配造成的。我检查了暴风服务器,在其/ lib文件夹中找到了guava-15。由于其他拓扑使用的是guava-15.jar,我无法将其直接升级到guava-18。

有没有办法可以解决这种依赖关系,方法是在提交时为我的拓扑专门指定guava-18路径。

0 个答案:

没有答案