Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij idea leiningen midje测试在Intellij中不起作用_Intellij Idea_Clojure_Leiningen_Midje_La Clojure - Fatal编程技术网

Intellij idea leiningen midje测试在Intellij中不起作用

Intellij idea leiningen midje测试在Intellij中不起作用,intellij-idea,clojure,leiningen,midje,la-clojure,Intellij Idea,Clojure,Leiningen,Midje,La Clojure,考虑以下(最小)leiningen项目 ./project.clj: (defproject repro "0.1.0-SNAPSHOT" :dependencies [[org.clojure/clojure "1.5.1"] [midje "1.5.1"]]) ./repo/src/repo/core.clj: (ns repro.core) /repo/test/repo/core_test.clj: (ns repro

考虑以下(最小)leiningen项目

./project.clj:

(defproject repro "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [midje               "1.5.1"]])
./repo/src/repo/core.clj:

(ns repro.core)
/repo/test/repo/core_test.clj:

(ns repro.core-test
  (:require [repro.core  :refer :all]
            [midje.sweet :refer :all]))

(facts "about numbers"
       (fact "trivial"
         1 => 1) )
如果我安装了leiningen midje插件,它将在命令提示符下运行,如下所示:

lein clean
lein midje
~~> All checks (1) succeeded.
但是,如果我将leiningen项目导入Intellij 12.1.5 Community Edition,我会得到一个胖堆栈跟踪:

Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
    ...
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333)
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988)
at clojure.lang.Namespace.find(Namespace.java:188)
at clojure.core$find_ns.invoke(core.clj:3728)
at clojure.core$the_ns.invoke(core.clj:3760)
at clojure.core$ns_name.invoke(core.clj:3767)
at midje.Bootstrap$bootstrap.invoke(Bootstrap.clj:8)
at midje.sweet__init.load(Unknown Source)
at midje.sweet__init.<clinit>(Unknown Source)
... 37 more
线程“main”java.lang.ExceptionInInitializeError中的异常 位于java.lang.Class.forName0(本机方法) 位于java.lang.Class.forName(Class.java:270) ... 位于java.lang.reflect.Method.invoke(Method.java:606) 位于com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) 原因:java.lang.NullPointerException 位于java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333) 位于java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988) 位于clojure.lang.Namespace.find(Namespace.java:188) 在clojure.core$find\n.invoke(core.clj:3728) 在clojure.core$the_ns.invoke(core.clj:3760) 在clojure.core$ns_name.invoke(core.clj:3767) 在midje.Bootstrap$Bootstrap.invoke(Bootstrap.clj:8) 在midje.sweet\uuuu初始加载时(未知源) 在midje.sweet_uuuinit(未知来源) ... 37多 看起来La Clojure+Intellij找不到midje的一些先决条件,这很奇怪,因为La Clojure正在leiningen
.m2
目录外运行类路径

我已经为Intellij寻找了一个midje插件,但到目前为止运气不好


我需要这个,因为尽管我很高兴只使用emacs+leiningen,但我的团队需要Intellij

导入项目可以与IDEA 16中的(La Clojure的新版本)配合使用,但对
midje
的支持仍然相当差-预期的右键单击“运行测试”不存在。手动添加
leiningen midje
run配置仍然有效。