1

我正在使用 IBM Streams 4.1.1 我不能在我的 Java 运算符中使用 Elasticsearch 客户端,因为它具有传递依赖 guava-18.0 lib

 <groupId>org.elasticsearch</groupId>
 <artifactId>elasticsearch</artifactId>
 <version>2.3.2</version>

当我提交我的工作时,我看到 NoSuchMethodError :com/google/common/util/concurrent/MoreExecutors.derectExecutor

发生这种情况是因为 IBM 流在 ext/lib guava-14 中有。如何解决这个问题?

4

1 回答 1

2

我得到了答案: https ://developer.ibm.com/answers/questions/332772/java-operator-classloader-issue.html

这已在 IBM Streams 4.2 中修复。

Streams 运行时现在只包括操作员可用的类加载器中记录的 jar(除了操作员指定的任何内容):

Operator API and samples
Apache Log4j
Apache Common Math
JSON4J

,此问题已在 IBM Streams 4.2 中修复,因此 Streams 运行时提供的算子类路径仅限于文档中的算子 api、Apache common math、JSON4J 和 Apache log4j。

于 2016-12-19T08:00:43.487 回答