如何使用 Leiningen 运行 图书馆的 `main`?

How to run library's `main` with Leiningen?

我使用了一些库,假设它是 Clojure 本身(总是 添加到 project.clj)。 Clojure 提供 clj CLI 工具(即 src/cli/clojure/main.clj,但没关系)。如何与 lein 一起使用?我的意思是,是否有 command/plugin/technique 允许我使用图书馆的 main

每个命名空间中的每个 Var 在 Clojure 眼中都是平等的。从您的代码中,只需执行:

   (some.awesome.lib/-main ...)

或任何指向有问题的 Var 的完全限定符号。

详情请看这个问题:


还有

查看

的输出
> lein help run

使用 lein,您可以输入

lein run -m my.awesome.proj/some-fn

lein run -m some.awesome.lib/-main

因为对于 Clojure some.awesome.lib/-main 与任何其他函数没有区别(-main 上的连字符前缀只是一种约定,对 Clojure 编译器没有影响)。

您还可以将 project.clj 设置为在您键入 lein run 时自动调用您选择的任何函数,方法是添加:

:main some.awesome.lib/-main