我有一个使用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路径。