Clojure 1.10.0 in Apache Storm 1.2.3



我正在使用apache storm 1.2.3,它使用Clojure 1.7.0。我正在运行用Java编写的拓扑,它调用了一些Clojure代码,我想在那里使用Clojure 1.10.0的功能。

我已经将 1.10.0 版本添加到 pom 中.xml并且我尝试使用--artifacts选项添加 1.10.0 工件storm jar

storm jar ... --artifacts "org.clojure:clojure:1.10.0"

部署拓扑后,工件已成功解析,但在运行代码时,我不断收到来自 1.7.0 jar 的错误。有没有办法在不将 storm 升级到 2.0.0 的情况下覆盖此依赖项?

你可以用1.10 jar 替换 storm/lib 目录中的 clojure 1.7.0 jar。当我们升级到 Clojure 1.10 时,没有 https://github.com/apache/storm/pull/2976/files 源代码更改。

我不能保证这会起作用,因为 Storm 1.x 分支的 Clojure 代码比 2.x 多得多。如果它不起作用,您可能需要升级到 2.x。

最新更新