如果这有所帮助,我还创建了一个补丁(包括lint修正)。如果需要,我将很高兴签订贡献者协议。
<pre>
<code>
diff --git a/src/main/clojure/clojure/tools/namespace/find.clj b/src/main/clojure/clojure/tools/namespace/find.clj
index 88f88ef..d67aaf1 100644
--- a/src/main/clojure/clojure/tools/namespace/find.clj
+++ b/src/main/clojure/clojure/tools/namespace/find.clj
@@ -12,12 +12,10 @@
clojure.tools.namespace.find
(:require [clojure.java.classpath :as classpath]
[clojure.java.io :as io]
- [clojure.set :as set]
[clojure.tools.namespace.file :as file]
[clojure.tools.namespace.parse :as parse])
- (:import (java.io File FileReader BufferedReader PushbackReader
- InputStreamReader)
- (java.util.jar JarFile JarEntry)))
+ (:import (java.io File PushbackReader)
加空格 (java.util.jar JarFile)))
将 *warn-on-reflection* 设置为 true)
@@ -92,7 +90,7 @@
(let [[_ nom & more :as decl] (file/read-file-ns-decl % (:read-opts platform))]
(当 (且) decl nom (symbol? nom))
(列表* 'ns (with-meta nom
- {:dir (.getName ^java.io.File dir) :file (.getName ^java.io.File %)})
+ {:dir (.getName ^File dir) :file (.getName ^File %)})
more))))
(find-sources-in-dir dir platform))))
@@ -156,7 +154,7 @@
(ignore-reader-exception
(let [[_ nom & more] (parse/read-ns-decl rdr read-opts)]
(列表* 'ns (with-meta nom
- {:jar (.getName ^java.io.File jarfile) :file entry-name})
+ {:jar (.getName ^JarFile jarfile) :file entry-name})
more)))))))
(defn find-ns-decls-in-jarfile