Leiningen不能将clojure.lang.PersistentVector抛出强制转换为clojure.lang.Named

时间:2018-08-12 14:31:31

标签: clojure leiningen

我是一名Java开发人员,开始使用Clojure。我使用 Leiningen 2.8.1 Clojure 1.9.0 整理了一个简单的项目。我的项目代码可以在here中使用。

我的问题很简单。当我从控制台运行“ lein”时,出现此错误:

java.lang.ClassCastException: clojure.lang.PersistentVector cannot be cast to clojure.lang.Named
 at clojure.core$name.invokeStatic (core.clj:1546)
    clojure.core$name.invoke (core.clj:1540)
    leiningen.core.project$absolutize_path.invokeStatic (project.clj:453)
    leiningen.core.project$absolutize_path.invoke (project.clj:452)
    clojure.core.protocols$iter_reduce.invokeStatic (protocols.clj:49)
    clojure.core.protocols$fn__6744.invokeStatic (protocols.clj:75)
    clojure.core.protocols/fn (protocols.clj:75)
    clojure.core.protocols$fn__6684$G__6679__6697.invoke (protocols.clj:13)
    clojure.core$reduce.invokeStatic (core.clj:6545)
    clojure.core$reduce.invoke (core.clj:6527)
    leiningen.core.project$absolutize_paths.invokeStatic (project.clj:463)
    leiningen.core.project$absolutize_paths.invoke (project.clj:462)
    leiningen.core.project$init_profiles.invokeStatic (project.clj:887)
    leiningen.core.project$init_profiles.doInvoke (project.clj:865)
    clojure.lang.RestFn.invoke (RestFn.java:425)
    leiningen.core.project$init_project.invokeStatic (project.clj:950)
    leiningen.core.project$init_project.invoke (project.clj:942)
    leiningen.core.project$read.invokeStatic (project.clj:1023)
    leiningen.core.project$read.invoke (project.clj:1020)
    leiningen.core.project$read.invokeStatic (project.clj:1024)
    leiningen.core.project$read.invoke (project.clj:1020)
    leiningen.core.main$_main$fn__4734.invoke (main.clj:416)
    leiningen.core.main$_main.invokeStatic (main.clj:411)
    leiningen.core.main$_main.doInvoke (main.clj:408)
    clojure.lang.RestFn.invoke (RestFn.java:397)
    clojure.lang.Var.invoke (Var.java:375)
    clojure.lang.AFn.applyToHelper (AFn.java:152)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.core$apply.invokeStatic (core.clj:646)
    clojure.main$main_opt.invokeStatic (main.clj:314)
    clojure.main$main_opt.invoke (main.clj:310)
    clojure.main$main.invokeStatic (main.clj:421)
    clojure.main$main.doInvoke (main.clj:384)
    clojure.lang.RestFn.invoke (RestFn.java:421)
    clojure.lang.Var.invoke (Var.java:383)
    clojure.lang.AFn.applyToHelper (AFn.java:156)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.main.main (main.java:37)

我运行leinlein test都没关系,结果是一样的。而且我在堆栈跟踪中看不到任何对我的代码的引用,因此我一无所知。 有什么问题的想法吗? 预先感谢。

1 个答案:

答案 0 :(得分:1)

您的project.clj文件缺少右括号here

:dependencies [[org.clojure/clojure "1.8.0"]
               [mount "0.1.11"] ;; delete extra bracket
               [midje "1.9.1"]
               [com.datomic/datomic-free "0.9.5656"]] ;; add closing bracket