gpt4 book ai didi

java - 在 Maven 中提前 (AOT) 编译 Clojure 库

转载 作者:太空宇宙 更新时间:2023-11-04 15:05:22 25 4
gpt4 key购买 nike

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

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

最佳答案

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

关于java - 在 Maven 中提前 (AOT) 编译 Clojure 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22071589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com