15

認証付きの Maven リポジトリがあり、sbt に Maven リポジトリのみを使用させたい

私のbuild.sbt:

resolvers += "My Repo" at "https://my.repository.addresss/repo/"

externalResolvers <<= resolvers map { rs =>
    Resolver.withDefaultResolvers(rs, mavenCentral = false)
}

しかし、入力sbt clean compileすると、まだ repo1.maven.org からダウンロードされているため、オーバーライドできません!

私のMavenレポは認証する必要があるため、デフォルトのレポ設定を〜/ .sbt/repositoriesに置くと常に失敗します

レポのみを使用して認証を成功させる方法はありますか?

4

3 に答える 3

1

これを試して:

lazy val yourRepo = "yourRepo" at "https://yourRepo.com/nexus/content/groups/public"

fullResolvers := {
    val oldResolvers = fullResolvers.value
    val idx = oldResolvers.map(_.isInstanceOf[DefaultMavenRepository$]).indexOf(true)
    oldResolvers.take(idx) ++ Seq(yourRepo) ++ oldResolvers.drop(idx)
}
于 2017-01-04T06:56:05.777 に答える
0

私はあなたのような状況に会ったことがあります。解決策は

  1. ~/.ivy2/.credentialsで作成

    realm=Sonatype Nexus Repository Manager
    host=yourRepo.com
    user=yourUser
    password=yourpassword
    
  2. この行をに追加しますbuild.sbt

    credentials += Credentials(Path.userHome / ".ivy2" / ".credentials")
    
  3. http://www.scala-sbt.org/1.0/docs/Proxy-Repositories.html~/.sbt/repositoriesに従って作成します

于 2017-01-04T07:27:01.330 に答える