一旦我在我的(玩具)项目中添加了一个名称空间,就会在启动服务器后引发一个异常:
lein run
我正在我的project.clj文件下面复制。
(defproject compoj02 "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.6.0"]
[ring "1.3.1"]
[compojure "1.2.1"]
[clout "2.0.0"]
[enlive "1.1.5"]
[org.clojure/data.csv "0.1.2"]
;[org.clojure/data.csv]
]
:main compoj02.core)
错误是
Exception in thread "main" java.io.FileNotFoundException: Could not locate clojure/data/csv__init.class or clojure/data/csv.clj on classpath: , compiling:(compoj02/pompaq.clj:1:1)
at clojure.lang.Compiler.load(Compiler.java:7142)
新命名空间包含一个简单的函数:
(ns compoj02.pompaq
(:require [clojure.data.csv :as csv]
[clojure.data.io :as iov]))
(defn process-csv [file]
(with-open [in-file (iov/reader file)]
(doall
(csv/read-csv in-file))))
感谢阅读!
PS。我添加了一些细节。我执行了命令lein deps。此外,还有一个文件链:core.clj使用对templates.clj的引用,这个文件使用对pompaq.clj的引用。当我注释掉templates.clj命名空间中使用的声明(:use compoj02.pompaq)时,我可以通过lein run启动应用程序。
答案 0 :(得分:0)
尝试lein deps
以确保一切都在那里。此外,如果没有-main
功能,您的命令应为=>
lein run -m compoj02.pompaq/process-csv file-arg-here