类路径通常很长,必须传递给Java进程。您可以将其传递到命令行(但许多系统有进程行长度限制),或者您可以将其写入一个文件,并以这种方式传递。Clojure CLI做了后者,但这需要写入某个位置。文件可以写入多个位置,并且有逻辑来检测写入该位置的正确位置。如果系统报告可以写入但不能,或者无法写入,我不知道CLI应该对此做什么(似乎对下载Maven库、下载git库、准备git库和CLI的工具.deps的许多其他功能有问题)。
尝试写入文件以测试它们是否可以成功写入,但这不起作用,因为我们用文件的存在来检测缓存的文件是否已经存在。不喜欢添加更多的环境变量,因为已经有很多配置选项了,在很多情况下,这种逻辑存在于多个位置(bash 和 tools.deps clojure),这些位置必须保持同步,所有读取/写入缓存的代码都必须达成一致。所有这些选项程度不同地都是不好的。