Project.scala:
val snapshotsName = "Repository Snapshots"
val snapshotsUrl = new java.net.URL("http://nexusHostIp:8081/nexus/content/repositories/snapshots")
val snapshotsPattern = "[organisation]/[module]/[revision]-SNAPSHOT/[artifact]-[revision](-[timestamp]).[ext]"
val snapshots = Resolver.url(snapshotsName, snapshotsUrl)(Patterns(snapshotsPattern))
Credentials(Path.userHome / ".ivy2" / ".credentials", log)
val dep = "group" % "artifact" % "0.0.1" extra("timestamp" -> "20101202.195418-3")
~/.ivy2/.credentials:
realm=Snapshots Nexus
host=nexusHostIp:8081
user=nexususername
password=nexuspassword
根据 SBT 用户组中的类似讨论,这应该可以正常工作,但是当我尝试构建时,我得到了以下内容。
==== Repository Snapshots: tried
[warn] -- artifact group#artifact;0.0.1!artifact.jar:
[warn] http://nexusHostIp:8081/nexus/content/repositories/snapshots/group/artifact/0.0.1-SNAPSHOT/artifact-0.0.1-20101202.195418-3.jar
我相当确定这是凭据问题,而不是其他问题,因为我可以直接访问它所说的URL并下载jar包(在身份验证后)。
我还尝试过像这样内联声明凭据(即使这不太理想):
Credentials.add("Repository Snapshots", "nexusHostIp", "nexususername", "nexuspassword")
public-ivy-releases: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
- Raman Yelianevichcredentials.sbt
,它不起作用,但如果我将其放在上一级文件夹中(~/.sbt/0.13/credentials.sbt
),它就可以正常工作。 - László van den Hoek