2024 Clojure 状态调查! 中分享您的想法。

欢迎!请参阅 关于 页面,了解更多关于这个功能的信息。

0
Clojure CLI

我正在尝试用具有许多依赖关系的 Clojure 项目构建一个 Clojure 项目,并将其包含在单个文件夹中。这样做的原因是,我最终将在不允许修改主文件夹的环境中构建此软件。

以下是使用的命令
GITLIBS=/var/build/software/.gitlibs clojure -Srepro -Sdeps '{"mvn/local-repo":"/var/build/software/.m2/repository"}' -T:build uber-aot

tools.deps 能够将所有依赖项下载到指定的本地仓库。当 tools.build 运行时,我似乎在调用 b/create-basis 的过程中遇到了错误。以下是错误的显示。

执行错误 (FileNotFoundException) 在 java.io.RandomAccessFile/open0 (RandomAccessFile.java:-2) /home/user/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.pom.part.lock (没有找到文件或目录)

有没有办法在命令行中将本地 Maven 仓库传递给 tools.build?最好在命令行中。

1 个答案

0

选定
 
最佳答案

当你调用 create-basis 时,你可以使用与 -Sdeps 相同的 :extra 键。

(create-basis  {:extra {:mvn/local-repo "your/path"}})

文档
https://clojure.github.io/tools.build/clojure.tools.build.api.html#var-create-basis

...