Fork me on GitHub
#boot
<
2017-12-13
>
martinklepsch15:12:46

@zilti I’d suggest trying to reproduce this issue outside your project,e.g.

boot -d org.controlsfx/controlsfx repl
user=> (import ... )

justinlee17:12:25

I'm new and getting several Classpath conflict: org.clojure/clojure version 1.8.0 already loaded, NOT loading version 1.7.0 errors in a tutorial I'm running. Is there a boot command that will tell me where the conflict is coming from? I fixed one of them by blindly upgrading my dependencies, but now I can't figure out where the last one is coming from.

martinklepsch17:12:20

@lee.justin.m boot show --pedantic should help with that

martinklepsch17:12:27

@lee.justin.m but with Clojure itself my guess is that you don’t specify a clojure version in your dependencies explicitly

martinklepsch17:12:47

and thus one is derived from your set of dependencies

justinlee17:12:17

@martinklepsch Thanks for the help. I just tried running boot show --pedantic by itself and before the build targets on the command line, but it doesn't produce any additional information as far as I can tell. I do have have a boot.properties file with clojure 1.8.0 specified.

martinklepsch17:12:52

@lee.justin.m and do you have clojure 1.8.0 specified in your :dependencies vector?

justinlee17:12:24

@martinklepsch No I wasn't. By adding it, it not only made the warning go away but also makes the show command work. (The conflict was caused by boot-http.) I'm not sure why that happened but I'm glad to have fixed that. Thanks!

martinklepsch17:12:43

@lee.justin.m you’re welcome 🙂 For background: When boot starts it loads a version of Clojure that you can specify in boot.properties. Once that version is loaded loading any other version will cause the warning you’ve seen. Now when you do set-env! :dependencies and don’t specify a version for Clojure itself any dependency may specify the version of Clojure to use.

justinlee17:12:04

Thanks. That is very helpful.