【问题标题】:Clojure dependency jarsClojure 依赖 jar
【发布时间】:2014-04-01 17:53:21
【问题描述】:

我的 git 存储库上有项目,它使用的 jar 之一实际上位于 git 存储库中。这是结构

项目 /lib/mylib.jar /clojure_project/project.clj

我需要添加 mylib.jar 作为依赖,但不要有任何 maven repos 只是本地或 git 或某种直接的方式,如 java/android... 我对clojure没有经验。

我尝试了很多选择: 按照此处的建议使用 Maven 本地存储库: https://www.pgrs.net/2011/10/30/using-local-jars-with-leiningen/ 问题是每次有人克隆项目时,他们都必须阅读 maven repo 并下载一堆 maven 员工。

然后这里有 git 方法: clojure and leiningen - using a git repository as dependency 但它对我不起作用,我也不想安装任何 progins。 有没有其他方法可以将 jars 添加到 clojure 项目中?

【问题讨论】:

  • 那个罐子是从哪里来的?你是在另一个 maven/lein 项目中构建它吗?如果是这样,您可以使用“mvn install”使其在本地可用。 pgrs 站点上的建议对于检查项目的版本控制应该是稳定的。所以其他人不必做太多事情。假设您正在分发源代码。
  • 我不使用 maven 我将 ant 用于 java 项目,但是这个 jar 已经作为 jar 包含在顶级项目中,它不是每次都编译。所以我有调用 ant 然后调用 lein uberjar 的 buildbot 脚本。
  • 那么听起来你真的只想要 pgrs 解决方案。您担心有人每次克隆项目时都必须做一些事情,但是如果您签入 jar 并按照他们建议的方式进行设置,他们不应该做任何事情。

标签: java clojure repository


【解决方案1】:

最后,在检查了 pgrs 链接后,我去了他们自己的 project 并检查了 project.clj

原来 repo 必须被称为本地:

:repositories {"local" "file:repo"}

那么你必须添加依赖:

:dependencies [[org.clojure/clojure "1.4.0"]
             [org.clojure/tools.cli "0.2.2"]
             [org.clojure/java.jdbc "0.2.3"]
             [mylib "0.1"]]

这里是我所拥有的构建脚本:

mkdir repo
FILE_NAME=`ls -c ../path/to/mylib-* | head -n 1`
mvn install:install-file -Dfile=$FILE_NAME -DartifactId=mylib -Dversion=0.1 -DgroupId=mylib -Dpackaging=jar -DlocalRepositoryPath=repo  -DcreateChecksum=true

这适用于我的带有 java 7 (oracle) 和 Leiningen 1.7.1 的 Ubuntu 12.04 机器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多