sbt依赖解析器与基本身份验证

Tim*_*lim 16 basic-authentication ivy sbt

我有基本授权的maven存储库的nginx.

我的build.sbt有:

credentials += Credentials("maven repository", "rep.com", "sbt", "password")

resolvers ++= Seq(
  "maven repository" at "http://rep.com:8080/"
)
Run Code Online (Sandbox Code Playgroud)

但是,sbt找不到模块,因为sbt不使用基本授权.

我的nginx日志看起来像:

012/07/22 20:02:21 [error] 3338#0: *14 no user/password was provided for basic authentication, client: 8.32.39.29, server: rep.com, request: "HEAD /some/cool_2.9.1/0.1-SNAPSHOT/cool_2.9.1-0.1-SNAPSHOT.pom HTTP/1.1", host: "rep.com:8080"
Run Code Online (Sandbox Code Playgroud)

我不想通过nginx发布工件.基本身份验证只需要限制访问工件.

如何在sbt中限制访问和使用存储库?

Bre*_*ett 20

如何在〜/ .ivy2/.credentials中添加以下内容:

realm=maven repository
host=rep.com:8080
user=username
password=password
Run Code Online (Sandbox Code Playgroud)

然后使用 Credentials(Path.userHome / ".ivy2" / ".credentials")

你需要确保你的领域配置正确:( curl http://rep.com:8080 -vv 2>&1 | egrep "realm|host"我可能会弄错,但'主机'可能必须匹配主机头,即rep.com:8080,而不仅仅是rep.com).

心连心