在某些情况下,例如使用`nil`在`:classpath-overrides`中时,classpath最终会出现空路径,例如`src::/home/russ/russmatney/ralphie/src:::/home/russ/.m2/repository/cheshire/cheshire/5.10.0/cheshire-5.10.0.jar`。
这会导致本地目录被添加到classpath中。演示
echo '(ns foo) (prn :foo)' > foo.clj
clj -Scp ":$(clojure -Spath)" -M -e "(require 'foo)"
:foo
重现带有空路径的classpath的方法
deps.edn
{:aliases
{:remove-clojure
{:classpath-overrides
{org.clojure/clojure ""
org.clojure/spec.alpha ""
org.clojure/core.specs.alpha ""}}}}
Shell
$ clojure -Spath -A:remove-clojure
src:::
Alex在Clojurians slack上将其归类为bug。
也许应当修复由tools.deps.alpha返回的空路径。
classpath中的空路径行为可能是JVM的行为。