maven - 如何在 Clojure 中使用本地依赖项?

标签 maven clojure leiningen

我正在开发一个库和一个使用这个库的应用程序。

我没有该库的任何远程存储库,它仅作为常规项目存储在 GitHub 上。

在我的应用程序中,我想将此库用作依赖项,我正在考虑拥有这样的结构:

.
├── README.md
├── project.clj
├── repo
├── src
├── target
├── libraries
│   └── my-library
└── test

其中my-librarygit submodule与我的图书馆。如何让我的应用程序知道这种依赖关系?

2016 年的解决方案是什么?

最佳答案

无需将 lib 包含为 git 子模块。
您可以在本地“发布” my-library 项目。

  • 只需转到 my-library项目文件夹并运行lein pom; lein jar; lein install .这里的关键部分是lein install它将 jar 和 pom 安装到本地存储库;通常 ~/.m2。
  • 转到使用此库的项目并在 project.clj 中将其声明为依赖项。喜欢 :dependencies [[my-library "version"]]它应该可以工作。

  • 编辑:
    同样,如果您使用 Boot , 你可以运行 boot pom; boot jar; boot install

    关于maven - 如何在 Clojure 中使用本地依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41618365/

    相关文章:

    java - 无法解析 clj-http

    java - codehaus 消失后 maven-rpm-plugin 文档在哪里

    java - 从 mvn exec :java 运行的类中捕获标准

    java - 将生成的 jar 文件的名称从 Maven pom.xml 传递到 Dockerfile

    exception - clojure 中错误/异常的完整堆栈跟踪

    macos - 在Mac OS上安装Leiningen时出现问题

    java - Maven Surefire 与 JUnit 5 隐藏堆栈跟踪

    clojure - 当路由绑定(bind)时 compojure 获取请求

    clojure - 为什么我的 clojurescript 宏不起作用

    scala - clojure在scala中迭代等效?