Tôi mới sử dụng Clojure và tôi hoàn toàn không hiểu cách viết project.clj
của mình để nó hoạt động cho cả lein repl
và lein run
. Dưới đây là (toàn bộ đường dẫn: ~/my-project/project.clj
):Làm thế nào để xác định project.clj cho cả lein run và lein repl làm việc?
(defproject my-project "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.3.0"]]
:main my-project.core/hello
)
Sau đó, tôi có ~/my-project/src/my_project/core.clj
tập tin của tôi
(ns my-project.core)
(defn hello []
(println "Hello world!")
)
lein run
tác phẩm tốt nhưng tôi nhận được một FileNotFoundException
khi chạy lein repl
:
~/my-project$ lein run
Hello world!
~/my-project$ lein repl
REPL started; server listening on localhost port 42144
FileNotFoundException Could not locate hello__init.class or hello.clj on classpath: clojure.lang.RT.load (RT.java:430)
clojure.core=>
Tôi nên chỉnh sửa số project.clj
để giải quyết vấn đề này như thế nào? Hoặc tôi có phải gọi số lein repl
theo cách khác không?
Xin cảm ơn trước.
EDIT: thử với lein dep
s và lein compile
, nhưng vẫn còn những lỗi tương tự
~/my-project$ lein version
Leiningen 1.7.1 on Java 1.6.0_27 OpenJDK Client VM
~/my-project$ lein deps
Copying 1 file to /home/yasin/Programming/Clojure/my-project/lib
~/my-project$ lein compile
No namespaces to :aot compile listed in project.clj.
~/my-project$ lein repl
REPL started; server listening on localhost port 41945
FileNotFoundException Could not locate hello__init.class or hello.clj on classpath: clojure.lang.RT.load (RT.java:430)
Có vẻ như bạn đang sử dụng lein 1, phải không? (Bạn có thể kiểm tra bằng 'lein version'). Trong trường hợp này, tôi nghĩ bạn nên chạy 'lein deps' và' lein compile' rồi thử 'lein repl'. – ivant
Cảm ơn, nhưng vẫn không đi ... Tôi đã chỉnh sửa câu hỏi với nhiều chi tiết hơn. – m0skit0
@ m0skit0 Nếu bạn mới sử dụng clojure, hãy sử dụng lein2. Không nên có lý do để sử dụng lein 1.7 vào thời điểm này, đặc biệt là nếu bạn chỉ mới bắt đầu. – Cubic