【问题标题】:clojure/lein: Can I specify a project file for lein other than project.clj?clojure/lein:我可以为 lein 指定一个项目文件而不是 project.clj 吗?
【发布时间】:2012-04-13 03:22:14
【问题描述】:
我想从一个项目中生成几个不同的 jar。我想我可以为每个文件制作一个 project.clj 文件,但我不能将它们全部命名为 project.clj。我如何告诉 lein 使用除 project.clj 之外的另一个项目文件?或者有没有其他方法可以生成jar或者启动
> lein ring server
例如,对于同一目录下的许多不同的项目文件?
谢谢!
【问题讨论】:
标签:
jar
clojure
leiningen
ring
【解决方案1】:
我会考虑重构您的项目,以便每个 jar 都有一个子项目。有一个名为 lein-sub 的插件可以帮助您做到这一点。例如,这里是ring is structured:
/ring-core/project.clj
/ring-devel/project.clj
/ring-jetty-adapter/project.clj
/ring-servlet/project.clj
/project.clj
然后在“父”project.clj 中,您可以像这样指定子项目:
(defproject example "0.1.0"
:sub
["ring-core"
"ring-devel"
"ring-jetty-adapter"
"ring-servlet"])
然后您可以运行lein sub jar 为您的所有子项目生成jar。您也可以像处理普通 lein 项目一样进入子项目目录并对其进行处理。