lein run命令引发异常

时间:2014-12-02 06:25:55

标签: clojure

一旦我在我的(玩具)项目中添加了一个名称空间,就会在启动服务器后引发一个异常:

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启动应用程序。

1 个答案:

答案 0 :(得分:0)

尝试lein deps以确保一切都在那里。此外,如果没有-main功能,您的命令应为=>

lein run -m compoj02.pompaq/process-csv file-arg-here