如何设置leiningen以处理多个项目?

Eri*_*and 19 clojure leiningen

我有多个独立的莱宁根项目,表面上可能依赖于彼此.

例:

~/projects/mywebapp  (my own project)
~/projects/noir      (a clone of the github repo)
~/projects/clojureql (a clone of the github repo)
Run Code Online (Sandbox Code Playgroud)

我希望将它们全部编译到同一个JVM中.我想运行git repos前沿(拉动新提交/进行我自己的提交)而不必运行lein jar或lein deps,如果我更改任何项目,当然不必重新启动VM.

这是一个用例:

在运行lein swank之后,从emacs中,我连接到repl并从mywebapp(使用Cck)编译一个文件,这需要来自noir的文件.它在我的项目目录中找到该文件的版本.稍后,我打开该文件,编辑它并编译它(使用Cck).

请注意,当我执行git pull时,我不是要求自动编译.我只是不想重新启动JVM或进行冗长的jar编译过程.

在莱宁根这可能吗?我怎么设置它?

geo*_*gek 17

这个来自Lein FAQ的问题有帮助吗?

:我想并行攻击两个项目,但在它们之间切换很烦人.

:使用名为checkout dependencies的功能.如果您在项目根目录中创建一个名为checkouts的目录,并且符号链接其他一些项目,Leiningen将允许您并行攻击它们.这意味着在主项目中可以看到依赖项的更改,而无需完成整个install/switch-projects/deps/restart-repl循环.请注意,这不是将项目列在:dependencies; 它只是补充了更紧凑的变化周期.