Fork me on GitHub
#leiningen
<
2020-06-27
>
adam01:06:51

My uberjar build is failing when I remove:

:dependencies [[ring/ring-mock "0.4.0"]]
…from uberjar profile. Any idea why? I only have that requirement listed in my :dev profile in profiles.clj.
Syntax error compiling new at (cheshire/factory.clj:57:11).
Syntax error (ClassNotFoundException) compiling new at (cheshire/factory.clj:57:11).
com.fasterxml.jackson.core.async.ByteArrayFeeder

Full report at:
/var/folders/p_/kn06r5xx549fd9mbdpqqfcxh0000gn/T/clojure-6891903320140238539.edn
Compilation failed: Subprocess failed (exit code: 1)

noisesmith16:06:05

try running lein deps :tree , look for conflicts between "jackson" related libraries a common problem is that jackson releases wholly incompatible versions, and depending on what's in your deps, different transitive deps pull different versions of jackson libraries, so a random change in the deps list breaks unrelated deps

noisesmith16:06:46

a common approach is to use clojure.data.json instead of cheshire, as it doesn't require jackson, so removes a source of breakage

adam15:06:18

This is the only reference I have in the tree to “cheshire” and “jackson”:

[ring/ring-mock "0.4.0" :scope "test"]
   [cheshire "5.8.1"]
     [com.fasterxml.jackson.core/jackson-core "2.9.6"]
     [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor "2.9.6"]
     [com.fasterxml.jackson.dataformat/jackson-dataformat-smile "2.9.6"]
     [tigris "0.1.1"]
I don’t have cheshire as one of my direct dependencies.