莱宁根是否有与`clj -m`等价的项目?

时间:2019-06-29 20:09:43

标签: clojure leiningen

莱宁根(Leiningen)是否有与此clj命令等效的内容:

clj -m project.core

就像我使用Leiningen一样,我需要先创建project.clj才能使用

lein run -m project.core

我可以不创建project.clj来运行它吗?

*没有project.clj文件的项目示例: https://github.com/mogenslund/microliquid

2 个答案:

答案 0 :(得分:0)

这似乎是不可能的。我尝试过运行类似的命令

lein run -m test/-main

我得到了suggest it can't find a main的错误。翻阅lein help时,如果找不到lein clean,几乎所有东西(包括project.clj之类的东西都将引发错误。

tutorial for leiningen中是块:

  

莱宁根处理项目。项目是一个目录,其中包含一组Clojure(可能还有Java)源文件,以及一些有关它们的元数据。元数据存储在项目根目录中的一个名为project.clj的文件中,这是您将诸如此类的事情告诉莱宁根的方式

     

...

     

大多数Leiningen任务仅在项目范围内有意义。也可以从任何目录中调用某些(例如repl或help)。

强调我的。

leiningen似乎专注于项目,并且期望project.clj中保存的元数据能够正常工作。

答案 1 :(得分:-1)

Leiningen需要一个project.clj文件。您必须使用-main键在其中指定包含:main函数的名称空间。然后,您可以使用lein run启动该应用程序。完整的project.clj应该如下所示:

(defproject foo "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.10.0"]]
  :main microliquid.core)