我有一个Maven2存储库,我正在尝试使用附加的时间戳来获取快照工件。我(毫不奇怪)在使用Maven2构建时可以很好地检索它,但是与 简单建造工具(SBT), ,我非常喜欢我,我不能把它拉下来。

我可以从 这个关于常春藤快照的问题 可以配置 常春藤 要获取快照伪像,但我不知道如何告诉SBT做到这一点。

我当前配置的相关位:

val snapshotsName = "Snapshots Repository"
val snapshotsUrl = new java.net.URL("http://host:port/path/to/root")
val snapshotsPattern = "[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
val snapshots = Resolver.url(snapshotsName, snapshotsUrl)(Patterns(snapshotsPattern))
Credentials(Path.userHome / ".ivy2" / ".credentials", log)

更新: 经过一番修补后,我可以将其指向以下模式的正确文物URL。

val snapshotsPattern = "[organisation]/[module]/[revision]-SNAPSHOT/[artifact]-[revision](-[timestamp]).[ext]"

因此,我仍然需要在依赖项中指定额外的时间戳

val dep = "group" % "artifact" % "0.0.1" extra("timestamp" -> "20101202.195418-3")

但这确实拉了工件。但是确实如此 不是 拉动工件的依赖性。因此,看来我仍然有问题。

有帮助吗?

解决方案

好吧,我已经解决了这个问题,但实际上不是SBT问题,这是100%的用户错误。

我正在使用所需的身份验证的Nexus。我没有正确设置的身份验证凭证(查看我的身份验证问题)并且由于它没有正确身份验证,因此没有找到元数据POM文件,因此SBT打印出错误消息,即它错误地错误地假设了它 曾是 验证但不解决。因此,我开始处理这些模式,这在实际问题中得到了证明。

但是,既然我已经正确地进行了身份验证设置,那么我只需更改为常规存储库声明:

val snapshotsRepo = "Snapshots Repository" at "http://host:port/path/to/snapshots/root/"

一切都起作用。检索伪影并解决依赖关系。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top