Closed belucid closed 8 years ago
This completely breaks 'line repl' for me (even with clojure 1.6, see backtrace below). lein deps show this:
... [raven-clj "1.3.1"] -> [clj-http "0.6.4"] -> [org.apache.httpcomponents/httpcore "4.2.3"] overrides [leiningen "2.5.1"] -> [clj-http "0.9.2" :exclusions [crouton]] -> [org.apache.httpcomponents/httpmime "4.3.3" :exclusions [org.clojure/clojure]] -> [org.apache.httpcomponents/httpclient "4.3.3"] -> [org.apache.httpcomponents/httpcore "4.3.2"] and [leiningen "2.5.1"] -> [leiningen-core "2.5.1"] -> [org.apache.maven.wagon/wagon-http "2.7"] -> [org.apache.httpcomponents/httpclient "4.3.5"] -> [org.apache.httpcomponents/httpcore "4.3.2"] and [leiningen "2.5.1"] -> [clj-http "0.9.2" :exclusions [crouton]] -> [org.apache.httpcomponents/httpclient "4.3.3" :exclusions [org.clojure/clojure]] -> [org.apache.httpcomponents/httpcore "4.3.2"] and [leiningen "2.5.1"] -> [leiningen-core "2.5.1"] -> [org.apache.maven.wagon/wagon-http "2.7"] -> [org.apache.httpcomponents/httpcore "4.3.2"] and [leiningen "2.5.1"] -> [clj-http "0.9.2" :exclusions [crouton]] -> [org.apache.httpcomponents/httpcore "4.3.2" :exclusions [org.clojure/clojure]] ...
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/conn/HttpClientConnectionManager, compiling:(cemerick/pomegranate/aether.clj:42:54) at clojure.lang.Compiler.analyzeSeq(Compiler.java:6651) at clojure.lang.Compiler.analyze(Compiler.java:6445) at clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at clojure.lang.Compiler.analyze(Compiler.java:6445) at clojure.lang.Compiler.analyze(Compiler.java:6406) at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5217) at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3846) at clojure.lang.Compiler.analyzeSeq(Compiler.java:6642) at clojure.lang.Compiler.analyze(Compiler.java:6445) at clojure.lang.Compiler.analyze(Compiler.java:6406) at clojure.lang.Compiler$MapExpr.parse(Compiler.java:2981) at clojure.lang.Compiler.analyze(Compiler.java:6453) at clojure.lang.Compiler.analyze(Compiler.java:6406) at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at clojure.lang.Compiler.analyze(Compiler.java:6445) at clojure.lang.Compiler.access$100(Compiler.java:38) at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:538) at clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at clojure.lang.Compiler.analyze(Compiler.java:6445) at clojure.lang.Compiler.analyze(Compiler.java:6406) at clojure.lang.Compiler.eval(Compiler.java:6707) at clojure.lang.Compiler.load(Compiler.java:7130) at clojure.lang.RT.loadResourceScript(RT.java:370) at clojure.lang.RT.loadResourceScript(RT.java:361) at clojure.lang.RT.load(RT.java:440) at clojure.lang.RT.load(RT.java:411) at clojure.core$load$fn__5066.invoke(core.clj:5641) at clojure.core$load.doInvoke(core.clj:5640) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invoke(core.clj:5446) at clojure.core$load_lib$fn__5015.invoke(core.clj:5486) at clojure.core$load_lib.doInvoke(core.clj:5485) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj:626) at clojure.core$load_libs.doInvoke(core.clj:5524) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invoke(core.clj:626) at clojure.core$require.doInvoke(core.clj:5607) at clojure.lang.RestFn.invoke(RestFn.java:436) at cemerick.pomegranate$eval6716$loading__4958__auto____6717.invoke(pomegranate.clj:1) at cemerick.pomegranate$eval6716.invoke(pomegranate.clj:1) at clojure.lang.Compiler.eval(Compiler.java:6703) at clojure.lang.Compiler.eval(Compiler.java:6692) at clojure.lang.Compiler.load(Compiler.java:7130) at clojure.lang.RT.loadResourceScript(RT.java:370) at clojure.lang.RT.loadResourceScript(RT.java:361) at clojure.lang.RT.load(RT.java:440) at clojure.lang.RT.load(RT.java:411) at clojure.core$load$fn__5066.invoke(core.clj:5641) at clojure.core$load.doInvoke(core.clj:5640) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invoke(core.clj:5446) at clojure.core$load_lib$fn__5015.invoke(core.clj:5486) at clojure.core$load_lib.doInvoke(core.clj:5485) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj:626) at clojure.core$load_libs.doInvoke(core.clj:5524) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invoke(core.clj:626) at clojure.core$require.doInvoke(core.clj:5607) at clojure.lang.RestFn.invoke(RestFn.java:408) at vinyasa.pull$eval6710$loading__4958__auto____6711.invoke(pull.clj:1) at vinyasa.pull$eval6710.invoke(pull.clj:1) at clojure.lang.Compiler.eval(Compiler.java:6703) at clojure.lang.Compiler.eval(Compiler.java:6692) at clojure.lang.Compiler.load(Compiler.java:7130) at clojure.lang.RT.loadResourceScript(RT.java:370) at clojure.lang.RT.loadResourceScript(RT.java:361) at clojure.lang.RT.load(RT.java:440) at clojure.lang.RT.load(RT.java:411) at clojure.core$load$fn__5066.invoke(core.clj:5641) at clojure.core$load.doInvoke(core.clj:5640) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invoke(core.clj:5446) at clojure.core$load_lib$fn__5015.invoke(core.clj:5486) at clojure.core$load_lib.doInvoke(core.clj:5485) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj:626) at clojure.core$load_libs.doInvoke(core.clj:5524) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invoke(core.clj:626) at clojure.core$require.doInvoke(core.clj:5607) at clojure.lang.RestFn.invoke(RestFn.java:408) at vinyasa.inject$inject_row_entry.invoke(inject.clj:56) at vinyasa.inject$inject_row$fn__48.invoke(inject.clj:82) at clojure.core$map$fn__4245.invoke(core.clj:2557) at clojure.lang.LazySeq.sval(LazySeq.java:40) at clojure.lang.LazySeq.seq(LazySeq.java:49) at clojure.lang.RT.seq(RT.java:484) at clojure.core$seq.invoke(core.clj:133) at clojure.core$apply.invoke(core.clj:624) at clojure.core$mapcat.doInvoke(core.clj:2586) at clojure.lang.RestFn.invoke(RestFn.java:423) at vinyasa.inject$inject_row.invoke(inject.clj:82) at clojure.core$map$fn__4245.invoke(core.clj:2557) at clojure.lang.LazySeq.sval(LazySeq.java:40) at clojure.lang.LazySeq.seq(LazySeq.java:49) at clojure.lang.RT.seq(RT.java:484) at clojure.core$seq.invoke(core.clj:133) at clojure.core$apply.invoke(core.clj:624) at clojure.core$mapcat.doInvoke(core.clj:2586) at clojure.lang.RestFn.invoke(RestFn.java:423) at vinyasa.inject$in.doInvoke(inject.clj:95) at clojure.lang.RestFn.invoke(RestFn.java:636) at clojure.lang.Var.invoke(Var.java:430) at clojure.lang.AFn.applyToHelper(AFn.java:195) at clojure.lang.Var.applyTo(Var.java:700) at clojure.lang.Compiler.macroexpand1(Compiler.java:6552) at clojure.lang.Compiler.macroexpand(Compiler.java:6613) at clojure.lang.Compiler.eval(Compiler.java:6687) at clojure.lang.Compiler.eval(Compiler.java:6692) at clojure.lang.Compiler.load(Compiler.java:7130) at clojure.lang.Compiler.loadFile(Compiler.java:7086) at clojure.main$load_script.invoke(main.clj:274) at clojure.main$init_opt.invoke(main.clj:279) at clojure.main$initialize.invoke(main.clj:307) at clojure.main$null_opt.invoke(main.clj:342) at clojure.main$main.doInvoke(main.clj:420) at clojure.lang.RestFn.invoke(RestFn.java:421) at clojure.lang.Var.invoke(Var.java:383) at clojure.lang.AFn.applyToHelper(AFn.java:156) at clojure.lang.Var.applyTo(Var.java:700) at clojure.main.main(main.java:37) Caused by: java.lang.NoClassDefFoundError: org/apache/http/conn/HttpClientConnectionManager at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at clojure.lang.RT.classForName(RT.java:2065) at clojure.lang.Compiler$HostExpr.maybeClass(Compiler.java:978) at clojure.lang.Compiler$HostExpr.access$400(Compiler.java:756) at clojure.lang.Compiler$NewExpr$Parser.parse(Compiler.java:2540) at clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) ... 124 more Caused by: java.lang.ClassNotFoundException: org.apache.http.conn.HttpClientConnectionManager at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 131 more REPL server launch timed out.
fixed in [raven-clj "1.3.2"]
I'm considering completely swapping clj-http
with aleph
if you have thoughts/objections on that let me know.
Isn't that a much "heavier" dependency?
Maybe, I'm not sure how Netty and the Apache HTTP Components libraries compare. Here are the dependency graphs of both project, probably isn't very informative though.
[aleph "0.4.2-alpha3"]
├── [byte-streams "0.2.2"]
│ ├── [clj-tuple "0.2.2"]
│ └── [primitive-math "0.1.5"]
├── [io.aleph/dirigiste "0.1.3"]
├── [io.netty/netty-all "4.1.0.CR7"]
├── [manifold "0.1.4"]
│ └── [riddley "0.1.12"]
├── [org.clojure/tools.logging "0.3.1" :exclusions [[org.clojure/clojure]]]
└── [potemkin "0.4.3"]
[clj-http "3.0.1"]
├── [commons-codec "1.10" :exclusions [[org.clojure/clojure]]]
├── [commons-io "2.4" :exclusions [[org.clojure/clojure]]]
├── [org.apache.httpcomponents/httpclient "4.5.2" :exclusions [[org.clojure/clojure]]]
│ └── [commons-logging "1.2"]
├── [org.apache.httpcomponents/httpcore "4.4.4" :exclusions [[org.clojure/clojure]]]
├── [org.apache.httpcomponents/httpmime "4.5.2" :exclusions [[org.clojure/clojure]]]
├── [potemkin "0.4.3" :exclusions [[org.clojure/clojure]]]
│ ├── [clj-tuple "0.2.2"]
│ └── [riddley "0.1.12"]
└── [slingshot "0.12.2" :exclusions [[org.clojure/clojure]]]
Under Clojure 1.7-alpha5 (final 1.7 release is soon) raven-clj causes the following warning:
It's because of the dependency on clj-http 0.6.4 (very old). This has been fixed in clj-http for some time now.
Thanks!