2

我想使用本地 Maven 存储库(默认情况下)来查找由boot~/.m2/repository构建的 Clojure 项目的依赖项。

我很确定依赖项在存储库中:

$ ls ~/.m2/repository/ags799/boot-docker/0.0.0-7-gd5196b9-dirty/
_maven.repositories
boot-docker-0.0.0-7-gd5196b9-dirty.jar
boot-docker-0.0.0-7-gd5196b9-dirty.pom

我很确定我的项目正确地引用了依赖项。这是我的build.boot

(set-env! :dependencies `[[org.clojure/clojure ~(clojure-version)]
                          [ags799/boot-docker "0.0.0-7-gd5196b9-dirty.jar"]])

(task-options!
  pom {:project 'example
       :version "0.0.0"}
  aot {:namespace #{'example.core}}
  jar {:main 'example.core})

但是,当我运行时boot repl,我得到了这个:

                                                    java.lang.Thread.run                    Thread.java:  745
                      java.util.concurrent.ThreadPoolExecutor$Worker.run        ThreadPoolExecutor.java:  617
                       java.util.concurrent.ThreadPoolExecutor.runWorker        ThreadPoolExecutor.java: 1142
       org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run    RunnableErrorForwarder.java:   60
org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run  WagonRepositoryConnector.java:  669
     org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap  WagonRepositoryConnector.java:  941
     org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap  WagonRepositoryConnector.java:  947
      org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact ags799:boot-docker:jar:0.0.0-7-gd5196b9-dirty.jar in clojars (https://repo.clojars.org/)
      artifact: #object[org.sonatype.aether.util.artifact.DefaultArtifact 0xa82                      java.util.concurrent.ThreadPoolExecutor$Worker.run        ThreadPoolExecutor.java:  61to                       java.util.concurrent.ThreadPoolExecutor.runWorker        ThreadPoolExecutor.java: 114he       org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run    RunnableErrorForwarder.java:   6rtorg.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run  WagonRepositoryConnector.java:  66ul     org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap  WagonRepositoryConnector.java:  94ot     org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap  WagonRepositoryConnector.java:  94:1      org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact ags799:boot-docker:jarlu      artifact: #object[org.sonatype.aether.util.artifact.DefaultArtifact 0xa82                      java.util.concurrent.ThreadPoolExecutor$Worker.run        ThreadPoolExecirty.jar in clojars (https://repo.clojars.org/)
    result: #object[org.sonatype.aether.resolution.DependencyResult 0x5a37d3ed "[org.clojure:clojure:jar:1.8.0 < maven-central (https://repo1.maven.org/maven2, releases+snapshots), null < null]"]
                                  clojure.lang.ExceptionInfo: Could not find artifact ags799:boot-docker:jar:0.0.0-7-gd5196b9-dirty.jar in clojars (https://repo.clojars.org/)
    line: 3

我还尝试通过包含:local-repo "~/.m2/repository"set-env!命令中手动设置引导到本地 Maven 存储库的路径。这不会改变输出。

我还尝试用显式路径 ( ) 替换~此路径。这不会改变输出。$HOME/Users/andrew

这是我的项目boot.properties

BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.8.0
BOOT_VERSION=2.7.2

我的项目如何使用本地 Maven 存储库来查找依赖项?非常感谢。

4

1 回答 1

6

依赖声明,它应该包含.jar在最后吗?

即不应该是这样吗?

(set-env! :dependencies `[[org.clojure/clojure ~(clojure-version)]
                          [ags799/boot-docker "0.0.0-7-gd5196b9-dirty"]])
于 2017-09-30T02:58:11.473 回答