Tôi đã thử đặt clojure-contrib.jar vào các vị trí khác nhau trên hệ thống tệp của mình, tôi đã thử chỉ định đường dẫn lớp theo cách thủ công khi khởi chạy REPL, tôi đã thử giải nén và đặt clj tập tin trên classpath, không có gì có vẻ hiệu quả. Tôi tiếp tục nhận được một cái gì đó như thế này:Không thể tải clojure-contrib để tải - FileNotFoundException
java.io.FileNotFoundException: Could not locate clojure/contrib/str_utils__init.
class or clojure/contrib/str_utils.clj on classpath: (NO_SOURCE_FILE:0)
Khi tôi thực hiện (println (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))
để xem classpath, nó bao gồm clojure-contrib:
(#<URL file:/C:/Program%20Files/Java/jre1.6.0_06/lib/clojure-1.0.0.
jar> ... #<URL file:/C:/Program%20Files/Java/jre1.6.0_06/lib/clojure-contrib.jar>)
Khi tôi thực hiện một tập tin .clj của riêng tôi và đặt nó trên classpath tôi có thể sử dụng hoặc yêu cầu nó và có quyền truy cập vào các chức năng của nó như tôi mong đợi.
Nếu tôi di chuyển tệp .clj - str-utils.clj - sang pwd (trên đường dẫn lớp), nó sẽ hoạt động - ít nhất nó tìm thấy tệp, mặc dù thường không thể làm bất kỳ điều gì nó vì phụ thuộc vào các chức năng khác được chôn trong clojure-contrib mà nó không thể tìm thấy.
Bất kỳ ý tưởng nào tại sao điều này sẽ không hiệu quả đối với clojure-contrib?
Bạn có đang chạy Clojure từ dòng lệnh hoặc IDE không? Nếu từ dòng lệnh, hãy đăng lệnh chính xác mà bạn đang sử dụng để khởi động nó. Bạn đang sử dụng phiên bản Clojure nào? –