Переопределить sbt default resolvers с аутентифицированным репо?

У меня есть репозиторий maven с аутентификацией, и я хочу, чтобы sbt использовал только репозиторий maven

My 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

Есть ли способ, которым я могу использовать только мое репо и успешно пройти проверку подлинности?

Ответы

Ответ 1

К сожалению, я могу только помочь вам с одной частью вашего вопроса.

Если вы хотите использовать свое maven-репо, посмотрите на документацию sbt, раздел прокси-репозитории. Там используется файл ~/.sbt/repositories. В качестве альтернативы вы также можете использовать sbt.boot.properties(см. Launcher configuration).

Не забудьте переопределить репозитории сборки из скриптов сборки, как описано здесь. Если вы этого не делаете, sbt все еще пытается подключиться к repo1.maven.org.

Я сделал то же самое сегодня (используя sbt 0.12.3), и он работает!

Ответ 2

Попробуйте следующее:

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)
}

Ответ 3

Я встретил подобную ситуацию. Решение

  • создать ~/.ivy2/.credentials с помощью

    realm=Sonatype Nexus Repository Manager
    host=yourRepo.com
    user=yourUser
    password=yourpassword
    
  • добавьте эту строку в build.sbt

    credentials += Credentials(Path.userHome / ".ivy2" / ".credentials")
    
  • создать ~/.sbt/repositories в соответствии с http://www.scala-sbt.org/1.0/docs/Proxy-Repositories.html