欢迎!请参阅关于页面获取更多有关该功能的详细信息。
目前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问题相关。如果我在Clojure项目中有一个gen-class(例如:mygenclass),并且想使用命令刷新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的库打包更加容易,因为不需要打包类文件(如果理解正确的话)。
友好地提醒一下,这次更改能有所帮助吗? :)