2009-12-01 23 views
6

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?

+1

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? –

Trả lời

2

Nếu bạn đã biên soạn bình đóng dấu clojure của riêng bạn, có thể bạn đã sử dụng nhánh chính không tương thích 1.0.

Làm theo tài liệu Using clojure-contrib with Clojure 1.0 để kiểm tra bản sửa đổi được gắn thẻ là clojure-contrib.

Ngoài ra còn có clojure-contrib git branch duy trì khả năng tương thích 1.0.

Các vấn đề liên quan