2013-11-26 2 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», а затем введите

(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 cloj-test.db-connect 
(:require [clojure.java.jdbc :as jdbc] 
      [clojure.java.jdbc.sql :as sql])) 

Объявление пространства имен должен соответствовать каталог, файл находится в
(за исключением того, - с заменяются на _ с) в файле и имена каталогов.

+0

Удивительно, это сработало. благодаря –

Смежные вопросы