我對Clojure還是比較陌生的,所以我很抱歉如果這是一個完全新手的問題,但我無法在網上找到足夠的答案。如何使用leiningen在其他文件中引用函數?
基本上,我的問題是,任何時候我嘗試運行我的項目,我得到這樣一個錯誤:
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate greeter__init.class or greeter.clj on classpath:
在這種情況下,greeter.clj是在同一個目錄中的文件的項目包含我的主要功能。
爲了便於說明,我已經創建了一個具有這樣的目錄樹的一個項目:
我對core.clj代碼如下:
(ns omg.core
(require [greeter]))
(defn -main[] (greet))
我的代碼for greeter.clj是:
(ns greeter)
(defn greet [] println("Hello world"))
每當我輸入lein run -m omg.core
我得到上面提到的例外。我究竟做錯了什麼?
亞瑟,非常感謝你的答案和你的解釋。對此,我真的非常感激。我通過剝離require並在其中添加(使用omg.greeter)來實現它。 –