2012-01-14 63 views
1

我已經使用swank插件,Emacs,SLIME和clojure-mode安裝了lein,並使用lein new創建了一個新項目。我稱之爲項目clojure測試。然後我在Emacs中打開clojure_test/src/clojure_test/core.clj,並在此文件中調用M-x clojure-jack-in。這打開了一個SLIME窗口,它工作正常;我可以使用C-c C-l加載代碼,使用C-c M-p切換到我的項目名稱空間,並使用我已添加到項目中的依賴項。如何在SLIME REPL中使用項目名稱空間

從「用戶」名稱空間中,我嘗試爲項目本身使用名稱空間時出現問題。調用(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測試」應該是./src/clojure_test.clj(./src在classpath默認情況下,除非你在project.clj文件改變了它)

難道你把它放在src/clojure_test/core.clj(它應該有ns clojure-test.core)?

參見庫文件在​​

+0

謝謝,我一定是在某些時候刪除。核心,因爲我認爲這是無關緊要的;我沒有意識到它正在通過文件名查找名稱空間。 – 2012-01-16 05:59:09

相關問題