如果我的 leiningen 类路径上有两个罐子:
a.jar
b.jar
并a.jar
包含
c\d_init.class
并b.jar
包含
c\d.clj
然后我尝试c.d
在我的项目中加载命名空间:
(ns e.core
(:require [c.d :as resolutiontest]))
Clojure 类加载器是否保证c\d_init.class
总是会被加载c\d.clj
?
如果我的 leiningen 类路径上有两个罐子:
a.jar
b.jar
并a.jar
包含
c\d_init.class
并b.jar
包含
c\d.clj
然后我尝试c.d
在我的项目中加载命名空间:
(ns e.core
(:require [c.d :as resolutiontest]))
Clojure 类加载器是否保证c\d_init.class
总是会被加载c\d.clj
?
根据此处的代码(Clojure 1.5.1),只要修改日期小于文件的修改日期,文件似乎d__init.class
就会被加载。d.clj
d.clj
.class
...
if((classURL != null &&
(cljURL == null || lastModified(classURL, classfile) > lastModified(cljURL, cljfile)))
|| classURL == null) {
try {
...