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