我有一个maven2仓库,想要从中获取带有时间戳的快照构件。当使用maven2构建时,我可以成功检索到它,但当使用我更喜欢的simple-build-tool (sbt)进行构建时,无法拉取它。我可以从this question about snapshots in Ivy中看到,可以配置Ivy来获取快照构件,但我不知道如何告诉sbt去执行这个操作。当前配置的相关部分如下:
更新:经过一些调试,看起来我可以使用以下模式将其指向正确的构件URL。
但它确实拉取了artifact。然而,它并没有拉取artifact的依赖项。所以看来我还是做错了什么。
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")
但它确实拉取了artifact。然而,它并没有拉取artifact的依赖项。所以看来我还是做错了什么。