java.lang.RuntimeException:java.lang.NoSuchMethodError:运行clojure web app时

java.lang.RuntimeException:java.lang.NoSuchMethodError:运行clojure web app时,clojure,leiningen,ring,monger,Clojure,Leiningen,Ring,Monger,我正在尝试运行我编写的一个小型Clojure web应用程序,但lein ring服务器出现了一个异常,它没有给我任何有用的信息。我在谷歌上搜索了错误并找到了讨论,其中建议运行leindeps:tree来解决问题,但这被低估了 完整堆栈跟踪: Exception in thread "main" java.lang.RuntimeException: java.lang.NoSuchMethodError: clojure.lang.RT.mapUniqueKeys([Ljava/lang/Ob

我正在尝试运行我编写的一个小型Clojure web应用程序,但lein ring服务器出现了一个异常,它没有给我任何有用的信息。我在谷歌上搜索了错误并找到了讨论,其中建议运行
leindeps:tree
来解决问题,但这被低估了

完整堆栈跟踪:

Exception in thread "main" java.lang.RuntimeException: java.lang.NoSuchMethodError: clojure.lang.RT.mapUniqueKeys([Ljava/lang/Object;)Lclojure/lang/IPersistentMap;
    at clojure.lang.Util.runtimeException(Util.java:165)
    at clojure.lang.Compiler.eval(Compiler.java:6476)
    at clojure.lang.Compiler.eval(Compiler.java:6455)
    at clojure.lang.Compiler.load(Compiler.java:6902)
    at clojure.lang.RT.loadResourceScript(RT.java:357)
    at clojure.lang.RT.loadResourceScript(RT.java:348)
    at clojure.lang.RT.load(RT.java:427)
    at clojure.lang.RT.load(RT.java:398)
    at clojure.core$load$fn__4610.invoke(core.clj:5386)
    at clojure.core$load.doInvoke(core.clj:5385)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5200)
    at clojure.core$load_lib.doInvoke(core.clj:5237)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_libs.doInvoke(core.clj:5275)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$require.doInvoke(core.clj:5352)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at monger.collection$eval698$loading__4505__auto____699.invoke(collection.clj:12)
    at monger.collection$eval698.invoke(collection.clj:12)
    at clojure.lang.Compiler.eval(Compiler.java:6465)
    at clojure.lang.Compiler.eval(Compiler.java:6455)
    at clojure.lang.Compiler.load(Compiler.java:6902)
    at clojure.lang.RT.loadResourceScript(RT.java:357)
    at clojure.lang.RT.loadResourceScript(RT.java:348)
    at clojure.lang.RT.load(RT.java:427)
    at clojure.lang.RT.load(RT.java:398)
    at clojure.core$load$fn__4610.invoke(core.clj:5386)
    at clojure.core$load.doInvoke(core.clj:5385)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5200)
    at clojure.core$load_lib.doInvoke(core.clj:5237)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_libs.doInvoke(core.clj:5271)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$require.doInvoke(core.clj:5352)
    at clojure.lang.RestFn.invoke(RestFn.java:457)
    at donebox.views.landing$eval692$loading__4505__auto____693.invoke(landing.clj:1)
    at donebox.views.landing$eval692.invoke(landing.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6465)
    at clojure.lang.Compiler.eval(Compiler.java:6455)
    at clojure.lang.Compiler.load(Compiler.java:6902)
    at clojure.lang.RT.loadResourceScript(RT.java:357)
    at clojure.lang.RT.loadResourceScript(RT.java:348)
    at clojure.lang.RT.load(RT.java:427)
    at clojure.lang.RT.load(RT.java:398)
    at clojure.core$load$fn__4610.invoke(core.clj:5386)
    at clojure.core$load.doInvoke(core.clj:5385)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5200)
    at clojure.core$load_lib.doInvoke(core.clj:5237)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_libs.doInvoke(core.clj:5271)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:604)
    at clojure.core$use.doInvoke(core.clj:5363)
    at clojure.lang.RestFn.invoke(RestFn.java:457)
    at donebox.core$eval686$loading__4505__auto____687.invoke(core.clj:1)
    at donebox.core$eval686.invoke(core.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6465)
    at clojure.lang.Compiler.eval(Compiler.java:6455)
    at clojure.lang.Compiler.load(Compiler.java:6902)
    at clojure.lang.RT.loadResourceScript(RT.java:357)
    at clojure.lang.RT.loadResourceScript(RT.java:348)
    at clojure.lang.RT.load(RT.java:427)
    at clojure.lang.RT.load(RT.java:398)
    at clojure.core$load$fn__4610.invoke(core.clj:5386)
    at clojure.core$load.doInvoke(core.clj:5385)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5200)
    at clojure.core$load_lib.doInvoke(core.clj:5237)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_libs.doInvoke(core.clj:5271)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$require.doInvoke(core.clj:5352)
    at clojure.lang.RestFn.invoke(RestFn.java:457)
    at user$eval3.invoke(NO_SOURCE_FILE:1)
    at clojure.lang.Compiler.eval(Compiler.java:6465)
    at clojure.lang.Compiler.eval(Compiler.java:6454)
    at clojure.lang.Compiler.eval(Compiler.java:6431)
    at clojure.core$eval.invoke(core.clj:2795)
    at clojure.main$eval_opt.invoke(main.clj:296)
    at clojure.main$initialize.invoke(main.clj:315)
    at clojure.main$null_opt.invoke(main.clj:348)
    at clojure.main$main.doInvoke(main.clj:426)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at clojure.lang.Var.invoke(Var.java:405)
    at clojure.lang.AFn.applyToHelper(AFn.java:163)
    at clojure.lang.Var.applyTo(Var.java:518)
    at clojure.main.main(main.java:37)
Caused by: java.lang.NoSuchMethodError: clojure.lang.RT.mapUniqueKeys([Ljava/lang/Object;)Lclojure/lang/IPersistentMap;
    at monger.conversion$loading__4910__auto__.invoke(conversion.clj:24)
    at monger.conversion__init.load(Unknown Source)
    at monger.conversion__init.<clinit>(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:266)
    at clojure.lang.RT.loadClassForName(RT.java:2030)
    at clojure.lang.RT.load(RT.java:417)
    at clojure.lang.RT.load(RT.java:398)
    at clojure.core$load$fn__4610.invoke(core.clj:5386)
    at clojure.core$load.doInvoke(core.clj:5385)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5200)
    at clojure.core$load_lib.doInvoke(core.clj:5237)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_libs.doInvoke(core.clj:5271)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:604)
    at clojure.core$use.doInvoke(core.clj:5363)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at monger.core$eval704$loading__4505__auto____705.invoke(core.clj:10)
    at monger.core$eval704.invoke(core.clj:10)
    at clojure.lang.Compiler.eval(Compiler.java:6465)
    ... 95 more
Subprocess failed
core.clj:

(ns donebox.core
  (:use [compojure.core]
        [donebox.views.landing]
        [ring.middleware.params]
        [ring.middleware.anti-forgery])
  (:require [compojure.route :as route]
            [compojure.handler :as handler]
            [compojure.response :as response]
            [monger.core :as mg])) ;; Error here.

(defroutes main-routes
  (GET "/" [] (index))
  (POST "/process_index" [] (handle-index))
  (GET "/thankyou" [] (thankyou))
  (GET "/roadmap" [] (roadmap))
  (route/resources "/")
  (route/not-found "Page not found"))

(def handler
  (-> (handler/site main-routes)
      (wrap-params)
      (wrap-anti-forgery)))

(defn mongo-config []
  ((mg/connect-via-uri! "mongodb://<dbuser>:<dbpwd>@ds031628.mongolab.com:31628/donebox"))

(defn disconnect []
  (mg/disconnect!))
(ns donebox.core
(:使用[compojure.core]
[donebox.视图.着陆]
[ring.middleware.params]
[铃声、中间件、防伪])
(:require[compoure.route:as route]
[compojure.handler:作为处理程序]
[复合响应:作为响应]
[monger.core:as mg]);;这里有错误。
(b)主要路线
(获取“/”[(索引))
(POST“/进程索引”[](句柄索引))
(获取“/谢谢”[](谢谢))
(获取“/路线图”[](路线图))
(路线/资源“/)
(路由/未找到“未找到页面”))
(def处理器
(->)(装卸工/现场主要路线)
(包装参数)
(包装防伪)
(defn mongo config[]
((mg/通过uri连接!“mongodb://:@ds031628.mongolab.com:31628/donebox”))
(defn断开[]
(mg/断开!))
关于这个例外情况,我能做些什么?谢谢您的时间和考虑。

这是一个很容易解决的问题

WARNING!!! possible confusing dependencies found:
[org.clojure/clojure "1.4.0"]
 overrides
[com.novemberain/monger "1.5.0"] -> [org.clojure/clojure "1.5.1"]
 and
[com.novemberain/monger "1.5.0"] -> [com.novemberain/validateur "1.4.0"] -> [org.clojure/clojure "1.5.1"]
 and
[com.novemberain/monger "1.5.0"] -> [clojurewerkz/support "0.15.0"] -> [org.clojure/clojure "1.5.1"]

[clojure-twitter "1.2.5"] -> [com.twinql.clojure/clj-apache-http "2.3.1"] -> [org.apache.httpcomponents/httpcore "4.0.1"]
 overrides
[clj-oauth "1.4.0"] -> [clj-http "0.5.3"] -> [org.apache.httpcomponents/httpclient "4.2.1"] -> [org.apache.httpcomponents/httpcore "4.2.1"]
 and
[clj-oauth "1.4.0"] -> [clj-http "0.5.3"] -> [org.apache.httpcomponents/httpmime "4.2.1"] -> [org.apache.httpcomponents/httpcore "4.2.1"]

 [clj-oauth "1.4.0"]
   [clj-http "0.5.3"]
     [cheshire "4.0.1"]
       [com.fasterxml.jackson.core/jackson-core "2.0.4"]
       [com.fasterxml.jackson.dataformat/jackson-dataformat-smile "2.0.4"]
     [commons-codec "1.6"]
     [org.apache.httpcomponents/httpclient "4.2.1"]
     [org.apache.httpcomponents/httpmime "4.2.1"]
     [slingshot "0.10.3"]
 [clojure-complete "0.2.3"]
 [clojure-twitter "1.2.5"]
   [com.twinql.clojure/clj-apache-http "2.3.1"]
     [commons-logging "1.1.1"]
     [org.apache.httpcomponents/httpcore "4.0.1"]
   [org.clojure/clojure-contrib "1.2.0"]
 [com.novemberain/monger "1.5.0"]
   [clojurewerkz/support "0.15.0"]
     [com.google.guava/guava "14.0.1"]
   [com.novemberain/validateur "1.4.0"]
   [org.mongodb/mongo-java-driver "2.11.0"]
   [ragtime/ragtime.core "0.3.2"]
     [org.clojure/tools.cli "0.2.2"]
 [compojure "1.1.5"]
   [clout "1.0.1"]
   [org.clojure/core.incubator "0.1.0"]
   [org.clojure/tools.macro "0.1.0"]
 [hiccup "1.0.3"]
 [org.clojure/clojure "1.4.0"]
 [org.clojure/data.json "0.2.2"]
 [org.clojure/data.xml "0.0.7"]
 [org.clojure/tools.nrepl "0.2.3"]
 [ring-anti-forgery "0.2.1"]
   [crypto-random "1.1.0"]
 [ring/ring-servlet "1.2.0-RC1"]
   [javax.servlet/servlet-api "2.5"]
 [ring "1.2.0-RC1"]
   [ring/ring-core "1.2.0-RC1"]
     [clj-time "0.4.4"]
       [joda-time "2.1"]
     [commons-fileupload "1.3"]
     [commons-io "2.4"]
     [org.clojure/tools.reader "0.7.3"]
     [ring/ring-codec "1.0.0"]
   [ring/ring-devel "1.2.0-RC1"]
     [clj-stacktrace "0.2.5"]
     [ns-tracker "0.2.1"]
       [org.clojure/java.classpath "0.2.0"]
       [org.clojure/tools.namespace "0.1.3"]
   [ring/ring-jetty-adapter "1.2.0-RC1"]
     [org.eclipse.jetty/jetty-server "7.6.8.v20121106"]
       [org.eclipse.jetty.orbit/javax.servlet "2.5.0.v201103041518"]
       [org.eclipse.jetty/jetty-continuation "7.6.8.v20121106"]
       [org.eclipse.jetty/jetty-http "7.6.8.v20121106"]
         [org.eclipse.jetty/jetty-io "7.6.8.v20121106"]
           [org.eclipse.jetty/jetty-util "7.6.8.v20121106"]
这是一个容易解决的问题

WARNING!!! possible confusing dependencies found:
[org.clojure/clojure "1.4.0"]
 overrides
[com.novemberain/monger "1.5.0"] -> [org.clojure/clojure "1.5.1"]
 and
[com.novemberain/monger "1.5.0"] -> [com.novemberain/validateur "1.4.0"] -> [org.clojure/clojure "1.5.1"]
 and
[com.novemberain/monger "1.5.0"] -> [clojurewerkz/support "0.15.0"] -> [org.clojure/clojure "1.5.1"]

[clojure-twitter "1.2.5"] -> [com.twinql.clojure/clj-apache-http "2.3.1"] -> [org.apache.httpcomponents/httpcore "4.0.1"]
 overrides
[clj-oauth "1.4.0"] -> [clj-http "0.5.3"] -> [org.apache.httpcomponents/httpclient "4.2.1"] -> [org.apache.httpcomponents/httpcore "4.2.1"]
 and
[clj-oauth "1.4.0"] -> [clj-http "0.5.3"] -> [org.apache.httpcomponents/httpmime "4.2.1"] -> [org.apache.httpcomponents/httpcore "4.2.1"]

 [clj-oauth "1.4.0"]
   [clj-http "0.5.3"]
     [cheshire "4.0.1"]
       [com.fasterxml.jackson.core/jackson-core "2.0.4"]
       [com.fasterxml.jackson.dataformat/jackson-dataformat-smile "2.0.4"]
     [commons-codec "1.6"]
     [org.apache.httpcomponents/httpclient "4.2.1"]
     [org.apache.httpcomponents/httpmime "4.2.1"]
     [slingshot "0.10.3"]
 [clojure-complete "0.2.3"]
 [clojure-twitter "1.2.5"]
   [com.twinql.clojure/clj-apache-http "2.3.1"]
     [commons-logging "1.1.1"]
     [org.apache.httpcomponents/httpcore "4.0.1"]
   [org.clojure/clojure-contrib "1.2.0"]
 [com.novemberain/monger "1.5.0"]
   [clojurewerkz/support "0.15.0"]
     [com.google.guava/guava "14.0.1"]
   [com.novemberain/validateur "1.4.0"]
   [org.mongodb/mongo-java-driver "2.11.0"]
   [ragtime/ragtime.core "0.3.2"]
     [org.clojure/tools.cli "0.2.2"]
 [compojure "1.1.5"]
   [clout "1.0.1"]
   [org.clojure/core.incubator "0.1.0"]
   [org.clojure/tools.macro "0.1.0"]
 [hiccup "1.0.3"]
 [org.clojure/clojure "1.4.0"]
 [org.clojure/data.json "0.2.2"]
 [org.clojure/data.xml "0.0.7"]
 [org.clojure/tools.nrepl "0.2.3"]
 [ring-anti-forgery "0.2.1"]
   [crypto-random "1.1.0"]
 [ring/ring-servlet "1.2.0-RC1"]
   [javax.servlet/servlet-api "2.5"]
 [ring "1.2.0-RC1"]
   [ring/ring-core "1.2.0-RC1"]
     [clj-time "0.4.4"]
       [joda-time "2.1"]
     [commons-fileupload "1.3"]
     [commons-io "2.4"]
     [org.clojure/tools.reader "0.7.3"]
     [ring/ring-codec "1.0.0"]
   [ring/ring-devel "1.2.0-RC1"]
     [clj-stacktrace "0.2.5"]
     [ns-tracker "0.2.1"]
       [org.clojure/java.classpath "0.2.0"]
       [org.clojure/tools.namespace "0.1.3"]
   [ring/ring-jetty-adapter "1.2.0-RC1"]
     [org.eclipse.jetty/jetty-server "7.6.8.v20121106"]
       [org.eclipse.jetty.orbit/javax.servlet "2.5.0.v201103041518"]
       [org.eclipse.jetty/jetty-continuation "7.6.8.v20121106"]
       [org.eclipse.jetty/jetty-http "7.6.8.v20121106"]
         [org.eclipse.jetty/jetty-io "7.6.8.v20121106"]
           [org.eclipse.jetty/jetty-util "7.6.8.v20121106"]

Noir已弃用,而不是
lein-deps:tree
。您能显示该输出吗?Noir已弃用,而不是
lein-deps:tree
。您能显示该输出吗?您能详细说明修复方法吗?我清除了lein-deps:tree中列出的所有冲突,并且我仍然会在这篇帖子的标题中列出相同的错误,请注意详细说明修复方法是什么?我清除了lein deps:tree中列出的所有冲突,但我仍然得到了这篇文章标题中列出的相同错误