我提议的是已经提议的混合,但为了完整起见并希望给出最终答案,我试一试。
由于依赖项不在在线存储库中,我会将 jar 包含在项目的目录结构本身中,例如在目录中repository
,并将其作为项目的其他文件保存在源代码控制系统中。它是项目的重要组成部分,没有依赖项就无法运行。
在这个目录中,我将在Maven Install plugin的帮助下保存 jar 。
mvn install:install-file \
-Dfile=/usr/local/share/java/jzmq.jar \
-DgroupId=org.zeromq \
-DartifactId=jzmq \
-Dversion=2.1.0 \
-Dpackaging=jar \
-DlocalRepositoryPath=repository
当 jar 文件被复制到本地存储库时,您定义它和依赖项,project.clj
如下所示:
(defproject clojure-interal-repo-test "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.4.0"]
[org.zeromq/jzmq "2.1.0"]]
:repositories [["zeromq-repository" {:url "file:repository"
:snapshots false
:checksum :ignore
:update :never}]])
在项目中,运行lein2 deps :tree
以验证其正确性。
$ lein2 deps :tree
Retrieving org/zeromq/jzmq/2.1.0/jzmq-2.1.0.jar (4k) from file:repository/
[org.clojure/clojure "1.4.0"]
[org.zeromq/jzmq "2.1.0"]
请注意,4k
上面是我为测试它而创建的假文件的大小。
如果您需要更多信息,请阅读 Leiningen wiki 中的文档可重复性。