欢迎!请在 关于 页面查看关于如何使用这个平台的更多信息。
我还没有成功尝试 graalvm,但作为 clojure 的用户,问题是,考虑到 graalvm 的承诺,如果在 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(除非从上次我尝试以来已经修复了这个问题)