通过 DynamicClassLoader 加载的类的 .getPackage 返回 nil。CIDER 和 vim-fireplace 等工具依靠这些信息来实现诸如自动完成提示等功能。
(.getPackage String) ;; => #<Package package java.lang, Java Platform API Specification, version 1.7> (deftype T []) (.getPackage T) ;; => nil
建议:在 DynamicClassLoader.defineClass() 中,对正在定义的类调用 definePackage()(与 URLClassLoader 的做法类似)。
补丁:clj-1550-v4.patch
审核:Alex Miller