Tôi vẫn còn khá mới đối với Clojure nên tôi xin lỗi nếu đây là câu hỏi hoàn toàn mới nhưng tôi không thể tìm thấy câu trả lời trực tuyến đầy đủ.Làm cách nào để tham chiếu các hàm trong các tệp khác bằng leiningen?
Về cơ bản, vấn đề của tôi là bất kỳ thời gian tôi cố gắng chạy dự án của tôi, tôi nhận được một lỗi như:
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate greeter__init.class or greeter.clj on classpath:
Trong trường hợp này, greeter.clj là trong các dự án trong cùng thư mục với tập tin chứa hàm chính của tôi.
Đối với mục đích minh hoạ, tôi đã tạo ra một dự án mà có một cây thư mục như thế này:
Mã của tôi cho core.clj được như sau:
(ns omg.core
(require [greeter]))
(defn -main[] (greet))
Mã của tôi cho greeter.clj là:
(ns greeter)
(defn greet [] println("Hello world"))
Bất cứ khi nào tôi nhập lein run -m omg.core
Tôi nhận được ngoại lệ được đề cập ở trên. Tôi đang làm gì sai?
Arthur, cảm ơn rất nhiều câu trả lời và giải thích của bạn. Tôi rất trân trọng điều này. Tôi đã làm cho nó hoạt động bằng cách loại bỏ các yêu cầu và thêm (sử dụng omg.greeter) vào vị trí của nó. –