欢迎!请参阅关于页面以了解更多关于此信息。
当前gen-class仅在AOT编译时工作,而在JIT加载时仅评估为nil。这种行为的原因是历史原因,自CLJ-979在1.7中推出后已不再相关,它修复了动态类加载器定义问题,并为gen-interface做了同样的更改。但没有为gen-class进行更改的唯一原因是忘记了这一点。
此补丁修复了这种不一致性
补丁: 0001-CLJ-2343-define-and-load-class-while-JITing-gen-clas.patch
评论者:kari
只是想确认我在Clojure Slack中提出的问题是否与这个JIRA问题相关。如果我的gen-class(例如mygenclass)是Clojure项目的组成部分,并且我想在Clojure REPL中使用以下命令刷新所有命名空间(do (require '(link: clojure.tools.namespace.repl :refer [refresh)]) (refresh))...则我会得到一个错误:“在加载'mygenclass'后找不到命名空间'mygenclass'。”
评论者:viesti
既然已经有了(链接:https://clojure.org/guides/deps_and_cli#aot_compilation 文本:依赖和命令行),这个更改将使得使用gen-class的库打包更加容易,因为不需要打包类文件(如果理解正确的话)。
友情提醒一下,这个修改能有帮助吗?:)