DataX Java调用ES的写插件报错

piok6c0g  于 2022-11-19  发布在  Java
关注(0)|答案(1)|浏览(253)

用源码编译了ES的写插件,放在dataX的工具包里面可以正常运行,但是放在Java项目里面会报错:
java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
at io.searchbox.client.AbstractJestClient$ServerPool.getServers(AbstractJestClient.java:114)
at io.searchbox.client.AbstractJestClient.setServers(AbstractJestClient.java:48)
at io.searchbox.client.JestClientFactory.getObject(JestClientFactory.java:60)
at com.alibaba.datax.plugin.writer.elasticsearchwriter.ESClient.createClient(ESClient.java:67)
at com.alibaba.datax.plugin.writer.elasticsearchwriter.ESWriter$Job.prepare(ESWriter.java:49)
at com.alibaba.datax.core.job.JobContainer.prepareJobWriter(JobContainer.java:724)
at com.alibaba.datax.core.job.JobContainer.prepare(JobContainer.java:309)
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:115)
at com.alibaba.datax.core.Engine.start(Engine.java:92)
at com.alibaba.datax.core.Engine.entry(Engine.java:171)
at com.example.demo.DataXTestApplication.main(DataXTestApplication.java:18)
想问下这个报错原因是什么?怎么解决?

bcs8qyzn

bcs8qyzn1#

刚刚发生了你这个问题;
原因:
es 的这个客户端版本含有guava , 是因为其他依赖包中引入了比 该版本低的缘故,统一一下版本就可以了。

io.searchbox
jest-common
6.3.1
com.google.guava guava 21.0

相关问题