【问题标题】:Ahead of Time (AOT) Compilation of Clojure Libraries in MavenMaven 中 Clojure 库的提前 (AOT) 编译
【发布时间】:2014-02-27 14:34:32
【问题描述】:

我在混合 Clojure/Java 环境中编程。我正在使用 Maven,我的一些依赖项是来自 clojars.org 的 Clojure 库。

现在,我需要在 Java 代码之前对 Clojure 代码执行 AOT 编译,因为 Java 代码引用了 Clojure 中定义的记录。如何使用 Maven 和 clojure-maven-plugin 实现这一点。

【问题讨论】:

    标签: java maven clojure clojure-maven-plugin


    【解决方案1】:

    如果命名空间是 AOT 编译的,那么它需要或使用的所有命名空间也将被 AOT 编译。在 Clojure 中,通常会有一个顶级 Clojure 命名空间,在这种情况下,AOT 编译该命名空间就足够了。如果您从 Java 调用 Clojure,则可能有多个顶级 Clojure 命名空间,这是一个弄清楚它们都是什么并确保它们都是 AOT 编译的问题。由于 Clojure 不允许任何类型的递归依赖,因此命名空间是否是顶级的并不是一个模棱两可的问题;顶级命名空间是任何其他 Clojure 命名空间都不需要或使用的命名空间。

    【讨论】:

      猜你喜欢
      • 2015-12-15
      • 2017-05-17
      • 2017-01-22
      • 2017-11-10
      • 2011-12-17
      • 2011-05-03
      • 2019-08-06
      • 1970-01-01
      • 2016-02-01
      相关资源
      最近更新 更多