【问题标题】:Clojure - how to use my personal debug library in multiple projects?Clojure - 如何在多个项目中使用我的个人调试库?
【发布时间】:2014-09-11 06:13:49
【问题描述】:

我有一个mascip.debug 库,其中包含一些我喜欢在任何地方使用的函数。在我的每个项目中(目前只有两个 - 我是新的 Clojurian),我在 src/ 中有这个库。

我想把它放在我的 PATH 中的某个地方,然后可以在我编写的任何项目中使用它。这很傻吗?可能的?或者你会说我绝对应该开始使用 Maven,就像explained here,这样我就可以在我的 ~/.lein/profiles.clj 文件中声明依赖?

【问题讨论】:

    标签: maven clojure dependencies leiningen


    【解决方案1】:

    lein install 将您的库放在您的 ~/.m2/repository 中,然后您可以将其用作其他项目的依赖项,即使您尚未将其推送到 maven 存储库。

    【讨论】:

    • 这很好,虽然你真的应该更喜欢将它上传到 Clojars。
    • 我现在已经上传到 Clojars(见下面我的回答)。知道如何在本地做这件事仍然很好,我将来可能会需要它。有了 Leiningen,一切都变得如此简单,我很惊讶。
    • lein install 当您依赖于经常修改的库时会更好,无论是因为您正在修改它,还是因为您正在使用项目的开发分支的最新版本。在这种情况下,每次有新版本时都上传到 Clojars 不太方便,而且会使 Clojars 变得混乱。这两种做法各有千秋。
    • 顺便说一句 lein install 将覆盖现有的 pom.xml,如果该文件是手动定制的,这可能是不可取的,例如因为项目直接使用Maven。您必须小心地将文件恢复到原来的样子。
    • 谢谢火星!我已经注意到你所说的:目前我每天都在修改那个库,所以lein install 更适合。然后,当我想(与他人共享,以及在我自己的计算机之间)共享 Clojar 时,它是完美的。
    【解决方案2】:

    您也可以创建一个 jar(使用 lein jar 或 lein uberjar) 然后在您项目的 project.clj 中,您可以添加 :resource-paths ["src/mascip_debug.jar"]

    【讨论】:

      【解决方案3】:

      Diego Basch 的回答正是我所要求的。

      现在,我意识到有时我想在笔记本电脑上使用这个库,并发现部署到 Clojars 非常简单。我关注了this tutorial,现在我可以在任何地方使用我的图书馆了:-)

      我认为使用 Clojars 会更难。只需要lein deploy clojars。太棒了!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-15
        • 2012-10-03
        • 2021-09-25
        • 1970-01-01
        • 2019-03-06
        • 2014-01-25
        • 2019-11-15
        • 1970-01-01
        相关资源
        最近更新 更多