由 timgilbert 发布的评论:
好吧,所以 {{0001-Adding-cp-jar-argument.patch}} 为 tools.deps 的 {{make-classpath}} 增加了一个命令行标记 {{--cp-jar}}。当这个文件存在时,tools.deps 将根据上述方法产生一个路径jar文件,通过将类路径转换为由空格分隔的 {{file://}} URL列表,将其放入jar清单中,然后创建一个只包含清单的jar文件。这段代码比我预期的要简单。
这还需要一点代码才能正确工作 - {{brew-install}} 或 Windows 的等效脚本需要在构建路径时将这个标记传递给{{make-classpath}}脚本,然后调用{{java -cp .cpcache/1864468523.jar clojure.main}}来实际启动clojure。
我已经在 Windows 的 PowerShell 和 WSL(即 Linux)中测试了这段代码。通过在 repl 中调用 {{(write-pathing-jar "path.jar" (slurp cached-cp-filename))}},然后通过{{java -cp path.jar clojure.main}}执行Clojure,启动一个REPL,再从那个REPL中调用{{(require 'clojure.tools.deps.alpha.script.make-classpath)}}以验证是否可以引入本地命名空间。