我找到了两种将Clojure * .clj文件编译成* .class文件的方法,虽然它们都有效,但我对它们都有一些抱怨。
first one使用REPL,因此无法自动化(或者可以吗?)
second one使用 lein 。坦率地说,我不明白为什么我应该使用依赖管理工具来应该成为该语言核心工具链的一部分。但无论如何,如果您的Clojure代码需要访问本地jar(非常有可能),请尽快使用 lein forces you to use a local Maven repository。
是否有更好的方法从Clojure代码生成* .class或* .jar文件,这些文件只涉及核心Clojure工具,并且可以采用脚本化,非交互方式使用?
答案 0 :(得分:3)
Clojure提供clojure.core.Compile
,可用于从命令行编译Clojure代码。
java -Dclojure.compile.path=<targetdir> -cp <targetdir>;clojure.jar <list of namespaces>
有关如何在ant中使用它的示例,请查看Clojure自己的build.xml文件中的compile-clojure
任务。
答案 1 :(得分:1)
clojure.core/compile可以通过Clojure自动化