【问题标题】:Is there an equivalent in Leiningen to `clj -m`Leiningen 中是否有与 `clj -m` 等效的内容
【发布时间】:2019-06-29 20:09:43
【问题描述】:

在 Leiningen 中是否有与此 clj 命令等效的功能:

clj -m project.core

看起来如果我使用 Leiningen,我需要先创建 project.clj 才能运行它

lein run -m project.core

我可以在不创建 project.clj 的情况下运行它吗?

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

【问题讨论】:

    标签: clojure leiningen


    【解决方案1】:

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

    lein run -m test/-main
    

    我收到suggest it can't find a main 的错误。查看lein help,几乎所有内容,包括lein clean,如果找不到project.clj,就会抛出错误。

    tutorial for leiningen 中是块:

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

    ...

    大多数 Leiningen 任务仅在项目上下文中才有意义。有些(例如,repl 或 help)也可以从任何目录调用。

    强调我的。

    似乎 leiningen 专注于项目,并希望 project.clj 中保存的元数据能够发挥作用。

    【讨论】:

      【解决方案2】:

      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)
      

      【讨论】:

        猜你喜欢
        • 2018-11-09
        • 2018-04-09
        • 2021-11-09
        • 2021-12-18
        • 1970-01-01
        • 2013-07-22
        • 1970-01-01
        • 2012-03-03
        • 2018-05-01
        相关资源
        最近更新 更多