2014-12-02 88 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