为什么SBT要解析SNAPSHOT版本?

问题描述 投票:0回答:2

这是我的解析器:

resolvers in ThisBuild ++= Seq(
  "Sonatype Nexus Repository Manager" at "https://.../repository/maven-snapshots/",
  "Sonatype Nexus Repository Manager" at "https://.../repository/maven-releases/")

以下是指定依赖关系的方式:

libraryDependencies += a %% b % "1.+"

Nexus 在

1.0.0
 中包含 
maven-releases

这是我得到的日志:

[FAILED     ] a#b_2.11;1.0.0-SNAPSHOT!b_2.11.jar:  (0ms)
[warn] ==== local: tried
[warn]   /Users/me/.ivy2/local/a/b_2.11/1.0.0-SNAPSHOT/jars/b_2.11.jar
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/.../b_2.11/1.0.0-SNAPSHOT/b_2.11-1.0.0-SNAPSHOT.jar
[warn] ==== local-preloaded-ivy: tried
[warn]   /Users/me/.sbt/preloaded/a/b_2.11/1.0.0-SNAPSHOT/jars/b_2.11.jar
[warn] ==== local-preloaded: tried
[warn]   file:////Users/pavelvoronin/.sbt/preloaded/.../b_2.11/1.0.0-SNAPSHOT/b_2.11-1.0.0-SNAPSHOT.jar
[warn] ==== Sonatype Nexus Repository Manager: tried
[warn]   https://.../repository/maven-snapshots/.../b_2.11/1.0.0-SNAPSHOT/b_2.11-1.0.0-SNAPSHOT.jar
[warn] ==== Sonatype Nexus Repository Manager: tried
[warn]   https://.../repository/maven-releases/.../b_2.11/1.0.0-SNAPSHOT/b_2.11-1.0.0-SNAPSHOT.jar

为什么它会寻找

SNAPSHOT
?并没有注意到
1.0.0

来自 Ivy docs 的一些台词:

+ 结束修订版选择该版本的最新子修订版 依赖模块。例如,如果依赖模块存在于 修订版 1.0.3、1.0.7 和 1.1.2,“1.0.+”将选择 1.0.7。


更新

清理 Ivy 缓存后,它开始告诉我找不到

1.+
。以下是 Nexus 的一些日志:

2017-10-18 11:51:07,030+0000 DEBUG [qtp219355933-2530] user org.sonatype.nexus.repository.view.Router - Request: Request{action=‘HEAD’, path=‘/.../b_2.11/maven-metadata.xml’, parameters={}, payload=HttpRequestPayloadAdapter{contentType=‘null’, size=-1}, multipart=false}

2017-10-18 11:51:07,031+0000 DEBUG [qtp219355933-2530] user org.sonatype.nexus.repository.view.handlers.BrowseUnsupportedHandler$MatcherImpl - Matching: HEAD /.../b_2.11/maven-metadata.xml

2017-10-18 11:51:07,034+0000 DEBUG [qtp219355933-2530] user org.sonatype.nexus.repository.view.Router - Response: Response{status=Status{successful=false, code=404, message=‘.../b_2.11/maven-metadata.xml’}, payload=null}
sbt nexus ivy
2个回答
0
投票

问题是标准

sbt pack
不会创建
maven-metadata.xml
文件。

使用 Aether-deploy 插件一切正常。


0
投票

哇!

使用sbt-aether-deploy,我解决了!!!

sbt

1.8.4
scala
2.13

我的罐子

maven-metadata.xml
更新了!!!

感谢帕维尔·沃罗宁!

© www.soinside.com 2019 - 2024. All rights reserved.