用于将Clojure.clj编译为.class/.jar的简单工具



我发现了两种将Clojure*.clj文件编译为*.class文件的方法,虽然它们都能工作,但我对它们都有一些不满。

第一个使用REPL,因此不能自动(或者可以?)

第二个使用lein。坦率地说,我不明白为什么我应该使用依赖管理工具来处理应该是语言核心工具链一部分的东西。但在任何情况下,如果Clojure代码需要访问本地jar(很可能),那么使用lein很快就会强制您使用本地Maven存储库。

有没有更好的方法从只涉及核心Clojure工具的Clojure代码中生成*.class或*.jar文件,并且可以以脚本化、非交互式的方式使用?

Clojure提供clojure.core.Compile,可用于从命令行编译Clojure代码。

java -Dclojure.compile.path=<targetdir> -cp <targetdir>;clojure.jar <list of namespaces>

有关如何从ant中使用此方法的示例,请查看Clojure自己的build.xml文件中的compile-clojure任务。

clojure.core/compile可以通过clojure 自动化

最新更新