2014-12-02 76 views
0

一次我在(玩具)项目增加了一个命名空间的一个例外是在启动服务器后提出:雷音运行命令产生异常

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命名空间中使用的声明(:使用compoj02.pompaq)时,我可以通过lein run启动应用程序。

回答

0

尝试lein deps确保一切都在那里。此外,没有一个-main功能,你的命令应该是=>

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

+0

我收到了同样的错误,当我删除了data.csv“0.1.2”的评论。谢谢! – dag 2014-12-02 06:29:28

+0

@dag你有没有试过lein deps? – runexec 2014-12-02 06:35:29

+0

runexec:lein总是提取deps – noisesmith 2014-12-02 15:46:01