16

Maven リポジトリ用の nginx を基本認証で使用しています。

私のbuild.sbtには次のものがあります:

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

resolvers ++= Seq(
  "maven repository" at "http://rep.com:8080/"
)

しかし、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"

nginx を介してアーティファクトを公開したくありません。基本認証は、アーティファクトへのアクセスが制限されている場合にのみ必要です。

アクセスを制限し、sbt でリポジトリを操作するにはどうすればよいですか?

4

3 に答える 3

20

~/.ivy2/.credentials に以下を追加するのはどうですか:

realm=maven repository
host=rep.com:8080
user=username
password=password

そして使用するCredentials(Path.userHome / ".ivy2" / ".credentials")

レルムが正しく構成されていることを確認する必要があります: curl http://rep.com:8080 -vv 2>&1 | egrep "realm|host"(私は間違っているかもしれませんが、'host' は、rep.com だけでなく、rep.com:8080 などのホスト ヘッダーと一致する必要がある場合があります)。

h番目

于 2012-09-13T14:21:37.550 に答える
0

機能するかどうかはわかりませんが、URL に基本認証を追加してみてください。

resolvers ++= Seq(
  "maven repository" at "http://username:password@rep.com:8080/"
)
于 2012-07-22T20:21:46.150 に答える