腰围Project.clj给出错误
Midje Project.clj giving error
我在开始使用的环形服务器上看到一个错误
lein with-profile dev ring server
java.io.FileNotFoundException: Could not locate midje/sweet__init.class or midje/sweet.clj on classpath: , compiling:(news/routes/headlines_test.clj:1:1)
...
这是我的 project.clj:
(defproject news "0.1.0-SNAPSHOT"
:description "..."
:url "https://herokuapp.com"
:min-lein-version "2.0.0"
:ring {:handler news.core.handler/app
:init news.core.handler/init}
:dependencies [[org.clojure/clojure "1.6.0"]
[compojure "1.3.1"]
[ring/ring-defaults "0.1.3"]
[liberator "0.11.0"]
[cheshire "5.3.1"]
[org.clojure/java.jdbc "0.3.6"]
[postgresql/postgresql "9.3-1102.jdbc41"]
[yesql "0.5.0-rc1"]
[environ "1.0.0"]]
:plugins [[lein-ring "0.9.1"]
[lein-environ "1.0.0"]]
:profiles {:dev-default {:dependencies [[ring/ring-devel "1.3.1"]]}
:test-default {:dependencies [[midje "1.6.3"]
[javax.servlet/servlet-api "2.5"]
[ring-mock "0.1.5"]]
:plugins [[lein-midje "3.1.3"]]}
:production-default {:ring {:open-browser? false
:stacktraces? false
:auto-reload? false}}
;; Set these in ./profiles.clj
:dev-env-vars {}
:test-env-vars {}
:dev [:dev-default :dev-env-vars]
:test [:test-default :test-env-vars]
:production [:production-default] })
我想我的困惑是:为什么我在 运行 开发环境中的服务器时收到关于 midje 的错误?
您需要使用 lein with-profile +dev ring server
。如果你使用lein with-profile dev ring server
(注意dev前面没有+
),dev配置文件将被使用并替换默认值。
有更多关于在激活不同配置文件的情况下调用 Leiningen 的信息here。
您的 src 路径 (news/routes/headlines_test.clj) 上似乎还有一个测试 clojure 文件,它可能需要 midje。您要么需要将其从 src 中删除并将其放在另一个目录中,要么需要在调用 lein ring server 时包含测试配置文件,即 lein with-profile +dev,+test ring server
。
我在开始使用的环形服务器上看到一个错误
lein with-profile dev ring server
java.io.FileNotFoundException: Could not locate midje/sweet__init.class or midje/sweet.clj on classpath: , compiling:(news/routes/headlines_test.clj:1:1)
...
这是我的 project.clj:
(defproject news "0.1.0-SNAPSHOT"
:description "..."
:url "https://herokuapp.com"
:min-lein-version "2.0.0"
:ring {:handler news.core.handler/app
:init news.core.handler/init}
:dependencies [[org.clojure/clojure "1.6.0"]
[compojure "1.3.1"]
[ring/ring-defaults "0.1.3"]
[liberator "0.11.0"]
[cheshire "5.3.1"]
[org.clojure/java.jdbc "0.3.6"]
[postgresql/postgresql "9.3-1102.jdbc41"]
[yesql "0.5.0-rc1"]
[environ "1.0.0"]]
:plugins [[lein-ring "0.9.1"]
[lein-environ "1.0.0"]]
:profiles {:dev-default {:dependencies [[ring/ring-devel "1.3.1"]]}
:test-default {:dependencies [[midje "1.6.3"]
[javax.servlet/servlet-api "2.5"]
[ring-mock "0.1.5"]]
:plugins [[lein-midje "3.1.3"]]}
:production-default {:ring {:open-browser? false
:stacktraces? false
:auto-reload? false}}
;; Set these in ./profiles.clj
:dev-env-vars {}
:test-env-vars {}
:dev [:dev-default :dev-env-vars]
:test [:test-default :test-env-vars]
:production [:production-default] })
我想我的困惑是:为什么我在 运行 开发环境中的服务器时收到关于 midje 的错误?
您需要使用 lein with-profile +dev ring server
。如果你使用lein with-profile dev ring server
(注意dev前面没有+
),dev配置文件将被使用并替换默认值。
有更多关于在激活不同配置文件的情况下调用 Leiningen 的信息here。
您的 src 路径 (news/routes/headlines_test.clj) 上似乎还有一个测试 clojure 文件,它可能需要 midje。您要么需要将其从 src 中删除并将其放在另一个目录中,要么需要在调用 lein ring server 时包含测试配置文件,即 lein with-profile +dev,+test ring server
。