ngrunwald / ring-middleware-format

Ring middleware for parsing parameters and emitting responses in JSON or other formats
163 stars 49 forks source link

Updating to 0.7.2 throws clojure.lang.ExceptionInfo: com/fasterxml/jackson/core/FormatFeature #68

Closed theronic closed 6 years ago

theronic commented 7 years ago

Sorry no time to delve deeper, but reverted to 0.7.0. Feel free to close if you suspect this is caused by another dependency.

Messy list of my build.boot :dependencies:

'[
                  [org.clojure/clojure "1.8.0"]
                  [org.clojure/clojurescript "1.9.494"]

                  [boot/core "2.6.0" :scope "test"]
                  [adzerk/boot-cljs "1.7.228-1" :scope "test"]
                  [adzerk/boot-cljs-repl "0.3.0" :scope "test"]
                  [crisptrutski/boot-cljs-test "0.2.2-SNAPSHOT" :scope "test"]
                  [com.cemerick/piggieback "0.2.1" :scope "test"]
                  [weasel "0.7.0" :scope "test"]
                  [org.clojure/tools.nrepl "0.2.12" :scope "test"]
                  [adzerk/boot-reload "0.4.8" :scope "test"]
                  [metosin/boot-alt-test "0.1.0" :scope "test"]
                  [deraen/boot-less "0.5.0" :scope "test"]
                  ;; For boot-less
                  [org.slf4j/slf4j-nop "1.7.21" :scope "test"]
                  [deraen/boot-sass "0.2.1" :scope "test"]
                  [deraen/boot-ctn "0.1.0" :scope "test"]

                  ; Backend
                  [http-kit "2.1.19"]
                  [org.clojure/tools.namespace "0.3.0-alpha4"] ; to fix missing var dir/scan-dirs
                  ;[org.clojure/tools.namespace "0.2.11"]
                  ;[reloaded.repl "0.2.3"]
                  [com.stuartsierra/component "0.3.1"]      ; can we ditch this?
                  [org.danielsz/system "0.4.0"]
                  [metosin/ring-http-response "0.6.5"]
                  [ring "1.4.0"]
                  [compojure "1.5.0"]
                  [hiccup "1.0.5"]
                  [com.cognitect/transit-clj "0.8.285"]
                  [ring-middleware-format "0.7.0"]
                  [metosin/compojure-api "1.1.3"]
                  [prismatic/schema "1.1.2"]

                  ; Frontend
                  ;[reagent "0.6.0-alpha2"]
                  [binaryage/devtools "0.6.1"]
                  [secretary "1.2.3"]
                  [cljs-ajax "0.5.8"]

                  ; cool graph shit
                  [rhizome "0.2.7"]
                  [macroz/tangle "0.2.0"]
                  ;[com.taoensso/encore "2.58.0"]            ; 2.50.1 is stable?, 2.58.0 is out, but breaks

                  [org.clojure/clojure "1.7.0"]

                  [org.clojure/tools.nrepl "0.2.12" :scope "test"]
                  [commons-io/commons-io "2.5"]

                  ; cljs
                  ;[adzerk/boot-cljs "1.7.228-1"]
                  ;[adzerk/boot-reload        "0.4.11"      :scope "test"]
                  ;[org.clojure/clojurescript "1.9.89"]
                  [reagent "0.6.0-rc"]
                  [re-frame "0.9.2"]
                  ;[pandeiro/boot-http "0.7.3"]
                  ;[crisptrutski/boot-cljs-test "0.2.2-SNAPSHOT"]
                  ;[adzerk/boot-cljs-repl   "0.3.0"] ;; latest release
                  ;[com.cemerick/piggieback "0.2.1"  :scope "test"]
                  ;[weasel                  "0.7.0"  :scope "test"]
                  ;[org.clojure/tools.nrepl "0.2.12" :scope "test"]

                  [boot-deps "0.1.6"]

                  ;; Testing
                  [adzerk/boot-test "1.1.1" :scope "test"]
                  [metosin/boot-alt-test "0.1.0-SNAPSHOT" :scope "test"]

                  ;; Logging - can probably drop these exclusions.
                  [com.taoensso/timbre "4.8.0" :exclusions [com.taoensso/encore]]
                  ; can we get rid of log4j?
                  [org.slf4j/log4j-over-slf4j "1.7.21"]
                  [org.slf4j/jul-to-slf4j "1.7.21"]
                  [org.slf4j/jcl-over-slf4j "1.7.21"]
                  [com.fzakaria/slf4j-timbre "0.3.2" :exclusions [com.taoensso/timbre]]

                  [com.taoensso/carmine "2.10.0" :exclusions [com.taoensso/encore com.taoensso/timbre]]

                  ;; Web
                  [ring/ring-jetty-adapter "1.5.0"]
                  [ring/ring-headers "0.2.0"]               ; can las this
                  [ring/ring-defaults "0.2.1"]
                  [ring/ring-mock "0.3.0" :scope "test"]
                  [ring/ring-json "0.4.0"]

                  ;; Auth
                  [clj-oauth "1.5.5"]

                  ;; Routing
                  [bidi "2.0.16"]
                  [venantius/accountant "0.1.9"]

                  ;[compojure "1.5.1"]
                  [environ "1.0.3"]
                  [boot-environ "1.1.0"]
                  [potemkin "0.4.3"]                        ;; needed by clj-http?
                  [clj-http "3.1.0"]
                  [crypto-password "0.2.0"]
                  [crypto-random "1.2.0"]
                  [hiccup "1.0.5"]
                  [byte-streams "0.2.2"]

                  ;; Database
                  [cljsjs/firebase "3.5.3-0"]
                  [degree9/firebase-cljs "1.3.0"]

                  [org.clojure/core.async "0.2.395"]
                  [com.datomic/datomic-pro "0.9.5561"]
                  [com.datomic/clj-client "0.8.606"]

                  [io.rkn/conformity "0.4.0"]

                  [postgresql "9.3-1102.jdbc41"]
                  [funcool/clojure.jdbc "0.9.0"]
                  [honeysql "0.7.0"]
                  [nilenso/honeysql-postgres "0.2.0"]

                  [datascript "0.15.5"]
                  [posh "0.5.5"]
                  ;[com.taoensso/encore "2.58.0"] => method too large exc.

                  ; just need sente - unsure of encore
                  ;[com.taoensso/timbre "4.8.0"]
                  [com.taoensso/encore "2.88.2"]
                  [com.taoensso/sente "1.11.0" :exclusions [org.clojure/tools.reader]]

                  [migratus "0.8.28"]

                  ;; Time
                  [clj-time "0.12.0"]
                  ;[com.andrewmcveigh/cljs-time "0.4.0"] -- doesn't work
                  ;[clojurewerkz/quartzite "2.0.0"]

                  ;; REPL
                  [com.cemerick/drawbridge "0.0.7"]         ; probably only want this in debug mode

                  ;; Dev
                  [ring-refresh "0.1.2"]
                  [ring/ring-devel "1.5.0" :exclusions [org.clojure/clojure]]
                  ;; Analytics
                  [tvachon/clj-mixpanel "0.0.3"]]
Deraen commented 7 years ago

This looks very much like a dependency conflict. Check lein deps :tree / boot show -d to see what version of cheshire and jackson get used.