On Apr 2, 2014, at 4:49 AM, Jakub Holy <jakub.h...@iterate.no> wrote: > The problem is that the stack trace contains no indication that it is > clj-ns-browser that is causing the problem. I would like to know if there are > any tricks to troubleshoot these problems other than binary search through > deps/plugins in profile.clj.
Well you can use: lein deps :tree That will show you any version conflicts as well as the paths by which those conflicts are reached - and it will suggest exclusions to resolve the conflicts (although some version conflicts can't be resolved as-is - you must upgrade one or other of your dependencies to get things working). But if you want to start from the stack trace... A lot of the stack trace can be thrown away / ignored which helps narrow things down... > $ lein ring server > Exception in thread "main" java.io.FileNotFoundException: Could not locate > clojure/tools/namespace/parse__init.class or > clojure/tools/namespace/parse.clj on classpath: , > compiling:(ns_tracker/parse.clj:1:1) ^^^ This tells us it failed to load clojure.tools.namespace.parse while compiling ns-tracker.parse... > at ns_tracker.core$eval514$loading__4958__auto____515.invoke(core.clj:1) > at ns_tracker.core$eval514.invoke(core.clj:1) ^^^ ...which it found in ns-tracker.core... > at > ring.middleware.reload$eval508$loading__4958__auto____509.invoke(reload.clj:1) > at ring.middleware.reload$eval508.invoke(reload.clj:1) ^^^ ...which it found in ring.middleware.reload... > at > ring.server.standalone$eval15$loading__4958__auto____16.invoke(standalone.clj:1) > at ring.server.standalone$eval15.invoke(standalone.clj:1) ^^^ ...which it found in ring.server.standalone... > at > ring.server.leiningen$eval9$loading__4958__auto____10.invoke(leiningen.clj:1) > at ring.server.leiningen$eval9.invoke(leiningen.clj:1) ^^^ ...and now we're at the top-level (since this was invoked from the user namespace): > at user$eval5.invoke(form-init6357505187919130689.clj:1) And because all these seem to be at line 1, they're likely the (ns ...) forms and so we have part of the dependency chain. I mostly just skipped over all the clojure.* stuff except for noting (in my head) that clojure.core/load and clojure.core/use were called along that path. Does that help at all? Sean Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ "Perfection is the enemy of the good." -- Gustave Flaubert, French realist novelist (1821-1880)
signature.asc
Description: Message signed with OpenPGP using GPGMail