0

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

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

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

4

1 回答 1

2

我对执行此操作的“正确”方法的看法是,除了将其放在结帐目录中之外,还让您的项目依赖结帐目录中的库作为传统依赖项。

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

然后,当它运行时,除了删除结帐目录之外,您无需执行任何“切换到生产”的操作。依赖项已经在依赖项目中。

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

于 2016-03-31T01:11:57.937 回答