如何使用leiningen使用当地罐子开发?

时间:2011-12-07 06:46:43

标签: maven build clojure dependency-management leiningen

我意识到这个问题几乎是here发现的确切问题。然而,看到这个问题是1.5岁(左右),我想重新审视它。如何使用leiningen添加本地依赖项?当然,这种能力现在必须存在吗?

3 个答案:

答案 0 :(得分:8)

Create a private Maven Repository,然后将以下内容添加到project.clj

:repositories {"local" ~(str (.toURI (java.io.File. "your_local_repository")))}

答案 1 :(得分:7)

如果jar基于您自己的项目,您可以使用lein install将它们放入本地.m2,或使用checkout-dependencies功能。

您还可以使用extra-classpaths功能等。

答案 2 :(得分:2)

我发现最简单的(虽然有些笨拙)解决方案是执行以下操作:

对于您用作依赖项的现有项目:

  1. 在具有要修改的依赖项的本地项目中,请确保运行lein deps
  2. 克隆此依赖项的repo,以便您可以在本地修改它(obv。确保您使用的是与project.clj文件中指定的版本相同的标记)
  3. 在此依赖项目录中运行lein uberjar(相关project.clj文件所在的位置)
  4. 将生成的独立jar在target /中复制到本地maven文件的确切路径/文件...(例如:〜/ .m2 / repository / project /.../ file.jar);确保备份原始jar文件,以便以后可以在需要时将其还原
  5. 开发您自己的项目:

    1. 在您正在开发的项目或插件中,只需运行lein install
    2. 即可
    3. 找出您当地的maven仓库的位置(参见上面的示例路径)
    4. 在测试项目中输入相关信息,就像在任何其他leiningen项目中一样。
    5. 同样,这是一个快速的黑客攻击,也许不是你进行严肃的本地开发的方式,但我发现它很容易满足我的需求。查看lein help tutorial了解更多信息