2013-11-26 34 views
1

我是clojure和jvm的新手,我無法創建一個leinengen項目,我可以將代碼分離到命名空間中。我的項目名爲cloj_test,在我的cloj_test/src/cloj_test目錄中,我有一個名爲db_connect.clj的文件。在db_connect.clj文件我有一些代碼在頂部定義命名空間在clojure leinengen項目中需要命名空間

(ns db-connect 
(:require [clojure.java.jdbc :as jdbc] 
      [clojure.java.jdbc.sql :as sql])) 

然後幾個函數來定義一些數據庫功能。 cloj_test/src位於lein類路徑中。當我使用「lein repl」啓動repl,然後鍵入

(require 'cloj-test.db-connect) 

它有效。不過,如果我鍵入

(require '[cloj-test.db-connect :as db]) 

我得到這個錯誤:

Exception namespace 'cloj-test.db-connect' not found clojure.core/load-lib (core.clj:5380) 

當我用 「使用」 同樣的事情發生。有人知道我可以如何解決這個問題嗎?

回答

4

包名稱缺少形式的NS聲明

(ns cloj-test.db-connect 
(:require [clojure.java.jdbc :as jdbc] 
      [clojure.java.jdbc.sql :as sql])) 

的命名空間聲明必須與該文件是在
目錄中的文件中(除了- s的改變爲_ S)和目錄名稱。

+0

太棒了,這工作。謝謝 –