欢迎!请查阅关于页面,了解更多有关此功能的信息。
当前gen-class仅在AOT编译时工作,而在即时加载时只评估为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
现在有了(链接:[Deps and CLI](https://clojure.org/guides/deps_and_cli#aot_compilation))文本,此更改将使使用gen-class的库的打包变得更加简单,因为不需要打包类文件(如果理解正确的话)。
友好地提醒一下,这个更改能否有所帮助? :)