Leiningen 编译什么都不做

Leiningen compile does nothing

(leiningen v 2.5.1)

Leiningen compile 似乎什么也没做,即使是一个新项目。我的步骤是

lein new default foo
cd foo
lein compile
ls | grep target            # nada
lein jar                    # does create a target, but with an empty .jar.  Still no .class files

编辑

我也尝试了 :all :aot 标志,仍然没有骰子。

下一步是什么?

查看您的 project.clj 文件。你会看到那里很少。您用来设置项目的 lein 命令是一个最低限度的定义。它里面的东西很少。开始使用 'app' 模板可能会做得更好。您还需要查看 lein 文档以查看 project.clj 文件中包含的内容。 Google 一些 lein 模板,看看还有哪些其他模板可用。然后我会 select 一个和一个初始的简单项目来玩。

请注意,您不需要 运行 lein 编译就可以开始使用 clojure 并编写一些 codes/expressions 来玩 - 运行 lein repl。

您需要将 :aot :all 添加到您的 project.clj 中(请注意,在您的编辑中反之亦然)。之后 compile 任务将编译你所有的命名空间。你也可以只命名那些你想编译的命名空间。

附带说明一下,在生成的 jar 中,Clojure 名称空间也不需要采用编译形式。这是 :aot 键的作用,用于控制将编译哪些名称空间。