作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是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
可以正常工作,但是运行
FileNotFoundException
时我得到了
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=>
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)
最佳答案
要使其正常工作,您可以做的一件事就是将core.clj
更改为:
(ns my-project.core
(:gen-class))
(defn hello []
(println "Hello world!"))
(defn -main []
(hello))
project.clj
编辑为:
(defproject my-project "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.3.0"]]
:main my-project.core)
(:gen-class)
将告诉编译器为命名空间生成一个Java类,并且
:main
中的
project.clj
指令将告诉
lein run
在该类上运行main方法,该方法由
-main
给出。我不清楚为什么
lein repl
无法找到
my-project.core/hello
,但是我对leiningen的内部知识并不了解。
关于clojure - 如何为lein run和lein repl都定义project.clj?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15339047/
我是一名优秀的程序员,十分优秀!