Fork me on GitHub

I'm currently having issues with my http-kit based library. It works fine in lein's repl, but when I start it with CIDER I get an exception about the Client/Server mode not being set. This is something I've seen from people using http-kit 2.3.0 when they're using Java 11 or later. I'm currently using Java 12, so this is somewhat expected if my http-kit version is 2.3.0 or older. However, my library requires 2.4.0-alpha3, which has support for Java 11+. Is there a way for me to see what version of http-kit is included when I launch via the CIDER repl? Or does anyone know if nREPL or something requires an older version of http-kit?


@U5NCUG8NR I'd try cider-open-classpath-entry. Usually the artifacts should have a version number in their name.


Thanks! I'll have to take a look at that next time I have a free minute.


Lein’s repl and CIDER’s repl are the same thing (provided you’re using lein and cider-jack-in - cider just runs lein repl and connects to the resulting nREPL server. nREPL doesn’t use http-kit in any form (although drawbridge might be using). I’m not sure if Leiningen still bundles drawbridge).


CIDER's repl injects several dependencies, like nREPL itself though, doesn't it? At least it appears to based on the command I see run in my message history. I was wondering if one of the injected dependencies required an older version of http-kit.


But yeah, I'll try to check that out and see what I can find.


After using cider-open-classpath-entry I see http-kit 2.3.0 is being loaded instad of 2.4.0-alpha3


I'm not sure how to determine what is requiring it, and if I don't know that I don't know how to put an exclusion in my project.


Ah, so it turns out I can set a global exclusion in lein, and that was the final resolution to my problem.


yes, you can always use lein deps :tree to figure out where the dependency comes from. or lein deps :why http-kit