6
TLDR;lein repl从错误的命名空间开始
lein repl
开始在由在:main
project.clj
定义的命名空间,而不是user
,根据需要。
详细
我有被部署为在uberjar一个命令行应用程序Leiningen项目,这样我就可以像这样运行:
java -jar my-app-1.0-standalone.jar --some --args
我也有一个dev/user.clj
到给我一个很好的REPL环境,如described here。
我project.clj
看起来是这样的:
(defproject my-app "1.0"
:main my-app.cli
:aot [my-app.cli]
:profiles {:dev {:source-paths ["src" "dev"]}})
当我开始我的REPL,要么在命令行lein repl
或M-x cider-jack-in
从Emacs的,我在my-app.cli
命名空间,而不是user
。
如果我从project.clj
删除:main my-app.cli
,我的REPL从user
命名空间开始,如我所料,但显然这打破了我的uberjar。
任何想法?
工作完美!谢谢。 –
这是否仍然有效?我只是在Clojure 1.9.0-beta2下的Leiningen 2.7.1中尝试了它,并且出现此错误:'无法在类路径中找到user__init.class或user.clj。它确实从'user'命名空间开始,但在它到达之前有一个大的堆栈跟踪。 –