欢迎!请参阅关于页面以了解更多关于如何使用此平台的信息。
我至今还没有管理尝试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版本中,它们工作良好,但有前提是你不能要求 clojure.spec.alpha 或 clojure.pprint,因为那时你会遇到 https://clojure.atlassian.net/browse/CLJ-1472。在1.9.0中,这个问题不存在,但我想使用最新的Clojure。
我发现这样可以工作得好:使用leiningen将你的源码AOT编译成一个uberjar,然后将这个.jar文件喂给GraalVM。我现在所有的GraalVM项目中都这样做。
我认为目前如果您想使用 native-image 从 graalvm 中生成原生二进制文件,可能需要降级到 Clojure 1.9.0(除非我在尝试时已经修复了这个问题)