欢迎!请参阅关于页面了解有关此功能更多信息。
我还没有设法尝试 graalvm,但作为 clojure 用户,问题是,鉴于 graalvm 的承诺,如果有的话,clojure 与其集成有什么问题,以及如何看待与 graalvm 的上游集成?从技术和其他方面(我在这提问是为了让后来的用户追踪)
我已经用 clojure 和 GraalVM 创建了几个应用程序
https://github.com/borkdude/clj-kondo https://github.com/borkdude/babashka https://github.com/borkdude/jet
您可以检查这些,看看目前可以实现什么,不能实现什么。
它们与 1.10.1 版本配合良好,但有一个条件,即不能 require clojure.spec.alpha 或 clojure.pprint,因为那时会遇到 https://clojure.atlassian.net/browse/CLJ-1472。在 1.9.0 版本中,这个问题不存在,但我希望尽可能地使用最新的 Clojure。
我发现工作得很好是:使用 leiningen 将您的源代码编译成一个 uberjar,然后将该 .jar 交给 GraalVM。我现在在所有的 GraalVM 项目中都是这样做的。
我认为,如果你想使用 native-image 在 graalvm 中生成原生二进制文件,目前你可能需要降级到 Clojure 1.9.0(除非在我尝试之后已经修复了这个问题)