Leiningen 是否可以递归下载其结帐依赖项的依赖项?

Can Leiningen recursively download the dependencies of its checkout dependencies?

Checkout dependencies 可用于在开发期间向您的 Leiningen 项目添加另一个正在进行的项目(例如:您正在并行开发应用程序和底层库)。

但是,当结帐依赖项本身具有 "traditional" 依赖项(来自 Clojars)时,父项目中的 运行 lein run 将抛出 java.io.FileNotFoundException,因为它显然不检索其检出依赖项的 "traditional" 依赖项。

有没有办法让Leiningen项目递归下载其checkout依赖的依赖?

我认为 "proper" 方法是让您的项目除了将其放在结帐目录中之外,还依赖于结帐目录中的库作为传统依赖项。

然后 每次您更改依赖项时,运行 lein install 在您的库项目中。这将导致 lein 生成适当的 jar 文件并将其安装到本地 maven 存储库中。这个库项目是否完成并不重要,因为你实际上并没有运行在这个状态下安装它,只是用它来获取依赖项。

然后,当它起作用时,您无需对 "switch to production" 执行任何操作,只需删除结帐目录即可。依赖项已经存在于依赖项目中。

使用签出处理库有一个副作用,即代码被加载两次。一次来自 "depended on" 版本,然后再次来自 "checkouts version"。当我使用协议并且必须记住重新加载协议定义时,这对我来说是一个非常偶然的问题。