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 repl"을 사용하여 repl을 시작한 다음

을 입력하면됩니다. 그러나, 나는이 오류가

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

를 입력하면 : 나는 "사용"을 사용하면

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

같은 일이 발생합니다. 아무도 내가 이것을 해결할 수있는 방법을 알고 있습니까?

답변

4

하는 패키지 이름 양식에게 NS 선언이 없습니다

네임 스페이스 선언이 파일이
에있는 디렉토리와 일치해야합니다

파일에 (- 것을 제외들 _ s로 변경)

(ns cloj-test.db-connect 
(:require [clojure.java.jdbc :as jdbc] 
      [clojure.java.jdbc.sql :as sql])) 
및 디렉토리 이름.

+0

굉장합니다. 감사 –

관련 문제