core.clj是否必须包含要从命令行运行的-main函数?

时间:2016-02-14 20:20:59

标签: clojure leiningen

使用Leiningen创建项目时,core.clj文件是否必须包含-main函数(创建应用程序时自动生成的函数)才能使用命令lein run运行程序?我创建的所有函数都必须在-main?

中调用

1 个答案:

答案 0 :(得分:1)

不,它不必在core.clj中。您可以将-main函数放在任何您喜欢的位置,只要您告诉lein在project.clj的defproject中查找位置。

(defproject myproject "0.1.0-SNAPSHOT"
  :main ^:skip-aot myproject.other-name-space)

这将告诉lein在加载repl时以及在查找myproject.other-name-space类时加载-main作为其主命名空间。如果您在两个地方有-main课程,则lein将使用您在defproject中指定的课程。您不需要将所有程序代码放在-main类中,只需将其用作起点即可。