I’m working on a mixed Java/Clojure codebase, which is run on top of Storm (1.2.3, currently).
That version of Storm has a dependency on Clojure 1.7, and since the worker code is loaded by Storm itself, Clojure 1.7 is what I get when loading Clojure code for interop, despite Clojure 1.10 being included as a dependency.
This is preventing me from using e.g, Spec, which would be quite useful for this code.
Has anyone encountered such a problem before, and found a way around it? Basically, I’m looking for a way to get the 1.10 classes when I do an
import clojure.java.api.Clojure; or similar.
I’m running on JDK8, so a custom class loader might be a solution, but I haven’t found any way to achieve this that way, either.
Any ideas would be appreciated!