2024 年 Clojure 状况调查 中分享您的想法!

欢迎!请在 关于 页面查看关于如何使用这个平台的更多信息。

+4
Clojure

我还没有成功尝试 graalvm,但作为 clojure 的用户,问题是,考虑到 graalvm 的承诺,如果在 graalvm 上与 clojure 集成存在任何问题,那么如何看到与 graalvm 的上游集成?从技术和其他方面来看(我提问此问题是为了方便后来用户追踪)

2 个答案

+3

我已经使用 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 项目中都这样做。

值得指出的是,https://clojure.atlassian.net/browse/CLJ-1472 在 1.10.1 中已被修复,我认为!
+1

我认为目前您如果想使用native-image从GraalVM生成本地二进制文件,必须降级到Clojure 1.9.0(除非从上次我尝试以来已经修复了这个问题)

嗨,

这里有一个使用GraalVM和Clojure的例子。

https://github.com/taylorwood/clojurl

希望这能帮到您!
非常好的例子。我曾经尝试构建一个用于管理我的书籍的命令行应用程序,但我对启动时间感到非常沮丧。我试过GraalVM,但那时候我无法正确地使HTTPS工作,因为我需要调用Goodreads和Amazon API。感谢这个例子,我很快会回到那个项目。
...