欢迎!请查看关于页面以获取更多关于此的工作方式的信息。
当前gen-class只能在AOT编译时工作,但在JIT加载时仅评估为nil。这种行为的原因是历史的,由于CLJ-979在1.7版本中落地,该版本解决了动态类加载器定义问题,同时为gen-interface也做了同样的改动。没有对此也进行改动的原因是忘记了这一点。
此补丁修复了这个不一致。
补丁: 0001-CLJ-2343-在JIT编译时定义和加载类-gen-class.patch
评论由:kari
只是询问我在Clojure Slack中提出的问题是否与这个JIRA问题相关。如果我将gen-class(例如mygenclass)作为我的Clojure项目的一部分,并且我想使用命令刷新Clojure REPL中的所有命名空间(do (require '(link: clojure.tools.namespace.repl :refer [refresh)]) (refresh))...然后我会得到一个错误:“在加载‘mygenclass’后找不到命名空间‘mygenclass’。”
评论由:viesti
现在有了关于(link: https://clojure.org/guides/deps_and_cli#aot_compilation)的文本:Deps and CLI,此更改将更有利于打包使用gen-class的库,因为无需打包类文件(如果理解正确)。
只是轻轻提醒一下,是否有任何可以因这次改动而得到帮助的地方? :)