2012-01-14 3 views
1

swank 플러그인 인 Emacs, SLIME 및 clojure-mode로 lein을 설치하고 lein new를 사용하여 새 프로젝트를 만들었습니다. 나는 프로젝트 clojure-test를 호출했다. 나는 이클립스에서 clojure_test/src/clojure_test/core.clj를 열고이 파일에있는 동안 M-x clojure-jack-in이라고 부른다. 이렇게하면 SLIME 창이 열리 며 잘 작동합니다. C-c C-l을 사용하여 코드를로드하고 C-c M-p을 사용하여 내 프로젝트 네임 스페이스로 전환하고 프로젝트에 추가 한 종속성을 사용할 수 있습니다.SLIME에서 프로젝트 네임 스페이스 사용법 REPL

"user"네임 스페이스에서 프로젝트 자체의 네임 스페이스를 사용하려고하면 문제가 발생합니다. 다음과 같은 오류에서 "사용자"네임 스페이스 결과에서 점액의 내부 (use 'clojure-test)를 호출 :

Could not locate clojure_test__init.class or clojure_test.clj on classpath: 
[Thrown class java.io.FileNotFoundException] 
  1. 왜 이러한 파일에 대한 Clojure의 검색을합니까? 네임 스페이스는 이미 C-c M-p을 통해 바꿀 수 있으므로 이미로드되어 있지만 Clojure는 이러한 특정 파일이 네임 스페이스 사용에 중요하다고 생각합니다.

  2. SLIME의 기본 네임 스페이스를 사용할 수 있도록 프로젝트를 어떻게 설정합니까? lein은 이것을 처리해야하기 때문에 필요한 정보가 무엇인지 알려주지 않습니까?

답변

2

네임 스페이스 "Clojure의 테스트"(당신이 당신의 project.clj 파일을 변경하지 않는 한 ./src는 기본적으로 클래스 경로에)

나요 ./src/clojure_test.clj에 있어야합니다 src/clojure_test/core.clj에 넣으십시오 (대신 ns clojure-test.core가 있어야합니다).

내가 그것을 부적절하다고 생각하기 때문에, 내가 어떤 점에서 .core을 삭제해야했습니다 http://clojure.org/libs

+0

감사에 libs와 설명서를 참조하십시오; 파일 이름을 통해 네임 스페이스를 찾고 있다는 것을 깨닫지 못했습니다. –