我刚接触Clojure,并不太明白如何编写我的project.clj
文件,使得它同时适用于lein repl
和lein run
。这是我的代码(完整路径:~/my-project/project.clj
):
(defproject my-project "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.3.0"]]
:main my-project.core/hello
)
然后我有我的~/my-project/src/my_project/core.clj
文件。
(ns my-project.core)
(defn hello []
(println "Hello world!")
)
lein run
工作正常,但在运行lein repl
时出现FileNotFoundException
:
~/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=>
我该如何编辑project.clj
来解决这个问题?或者我需要以不同的方式调用lein repl
吗?谢谢。
编辑:尝试了lein dep
和lein compile
,但仍出现相同的错误。
~/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)
lein version
命令进行确认)。如果是这样的话,我认为你应该先运行lein deps
和lein compile
命令,然后再尝试使用lein repl
。 - ivant