2012-04-25 29 views
6

Tôi đã tạo ra một dự án Lein, hơn cập nhật project.clj với dev-phụ thuộc của ECLIPStrong leiningen eclipse Không thể xác định vị trí clojure/contrib/duck_streams__init.class hoặc clojure/contrib/duck_streams.clj

Tôi chạy "Lein DEPS"

nó tải về tất cả phụ thuộc

nhưng vào my.m2/thư mục kho lưu trữ không có thư mục clojure. và điều này gây ra cho tôi

leiningen.eclipse Sự cố khi tải: java.io.FileNotFoundException: Không thể xác định vị trí clojure/contrib/duck_streams__init.class hoặc clojure/contrib/duck_streams.clj trên classpath: (eclipse.clj: 1)

lỗi khi tôi chạy "trợ giúp lein" mà từ bỏ tôi để phát triển với nhật thực vì tôi không thể chạy lệnh "lein eclipse" của tôi.

Bất kỳ giải pháp nào cho điều này ??? Cảm ơn trước.

project.clj của tôi là đưa ra dưới đây

(

    defproject for_test "1.0.0-SNAPSHOT" 

    :description "FIXME: write description" 

    :dependencies [[org.clojure/clojure "1.2.1"]] 

    :dev-dependencies [[lein-eclipse "1.0.0"]] 

) 

Thnks 'n Kính trọng, Chirag ghiyad

Trả lời

5

clojure.contrib là một thư viện riêng, và do đó, nó phụ thuộc cần được quy định rõ ràng

:dependencies [[org.clojure/clojure "1.2.1"] 
       [org.clojure/contrib "1.2.0"]] 

Từ 1.3 trở lên, clojure.contrib nguyên khối không còn nữa và các thư viện đã bị tách ra thành separate libraries.

Các thư viện này nên được tìm thấy trong/m2/org/clojure/clojure và/m2/org/clojure/clojure/contrib. Hãy lưu ý rằng chúng không được đặt vào đường dẫn lớp của bạn một cách tự động, chỉ bằng cách chạy lein eclipse sau khi chạy lein deps, chỉnh sửa tệp nhật thực .classpath và tệp .projects của bạn.

Nhân tiện, tôi khuyên bạn nên sử dụng lein plugin install lein-ccw "1.2.0", tương thích với Clojure 1.3 so với le-eclipse. Thay vì chạy lein eclipse sau lein deps, bạn nên sử dụng lein ccw.

Tôi luôn cài đặt trình cắm lein-eclipse hoặc lein-ccw vào leiningen thông qua dòng lệnh, vì vậy tôi không biết cách hoạt động của phụ thuộc dev. Trong Leiningen 2.0, họ tách biệt plugin và chức năng phụ thuộc dev.

(Lưu ý: cả hai plugin này chỉ có thể sử dụng được trong Leiningen ổn định 1.7.1)

+0

tôi áp dụng của bạn gợi ý sau khi xóa my.m2/repository .. nhưng nó cung cấp cho tôi lỗi dưới đây ............-- 1 tạo phẩm bắt buộc bị thiếu. cho vật: org.apache.maven: siêu pom: jar: 2,0 từ các kho từ xa được chỉ định: trung ương (http://repo1.maven.org/maven2), clojars (http: // clojars.org/repo/) –

+0

là bạn nói rằng sau khi chạy ... lein plugin cài đặt lein-eclipse "1.2.0" ... tôi không cần phải thêm điều này ....: dev-dependencies [[lein-eclipse "1.0.0"]] ... dòng trong project.clj của tôi ?? –

+0

Sự cố của tôi được giải quyết sau khi tôi cập nhật phiên bản clojure của tôi lên 1.7.1, tôi đánh giá cao sự trợ giúp của bạn @NielsK –

3

Xin lỗi nhưng tôi chưa thể nhận xét để tôi viết câu trả lời.

Câu trả lời đó là out-ngày, nhận thấy rằng các tên gói nên/clojure-contrib hơn/contrib, nếu không

lein deps 

sẽ không tìm thấy các gói

:dependencies [[org.clojure/clojure "1.5.1"] 
       [org.clojure/clojure-contrib "1.2.0"]] 
Các vấn đề liên quan