基本認証が必要なNexusリポジトリマネージャーにアクセスしようとしています。Maven2からはすべて正常に動作しますが、SBTで設定しようとすると、アーティファクトが見つかりません。カスタムリポジトリパターンを使用していますが(この関連する質問を参照)、それは問題ではないと思います。いずれにせよ、関連する構成はここにあります。
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")