Вопрос по playframework – Play framework и sbt: передача учетных данных в защищенный репозиторий Nexus Passowrd

6

Мне нужно определить в качестве зависимости следующую библиотеку:

URL:http://deploy.cloud.testmx.com:8081/nexus/content/groups/public/

пользователь: testmx

пройти: testmx @ testmx

groupId: testmx

artifactId: testmxcommons

версия: 1.0.0-SNAPSHOT

Итак, я определил следующий проект / Build.scala

import sbt._
import Keys._
import PlayProject._

object ApplicationBuild extends Build {

    val appName         = "testmxproject"
    val appVersion      = "1.0-SNAPSHOT"

    val appDependencies = Seq(
      "mysql" % "mysql-connector-java" % "5.1.18",
      "testmx" % "testmxcommons" % "1.0.0-SNAPSHOT"
    )

    val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
      credentials += ("testmx public", "deploy.cloud.testmx.com:8081", "testmx", "[email protected]"),
      resolvers += "testmx public" at "http://deploy.cloud.testmx.com:8081/nexus/content/groups/public/"
    )

}

и я получаю следующую ошибку:

[warn]  module not found: testmx#testmxcommons;1.0.0-SNAPSHOT

[warn] ==== testmx public: tried
[warn]   http://deploy.cloud.testmx.com:8081/nexus/content/groups/public/testmx/textmxcommons/1.0.0-SNAPSHOT/textmxcommons-1.0.0-SNAPSHOT.pom

Я попробовал несколько вариантов, но они дают мне ту же ошибку ...

Я проверилЭта статья и этоТАК вопрос

А также попытался сохранить пользователя и пароль во внешнем файле, как это объяснено.Вот а такжеВот.

любая идея?

- изменить, чтобы уточнить -

Я изменил реальный URL, потому что он не является публичным репозиторием, с которым я работаю ... Реальный URL есть, и пом, который sbt пытается найти, существует ...

ps: кстати .. где sbt scaladocs ???

"учетные данные + = (" не следует заменять на "учетные данные + = учетные данные (" верно? raisercostin
ну, по крайней мере, я нашел sbt's scaladocs:harrah.github.com/xsbt/latest/api/index.html#package opensas

Ваш Ответ

2   ответа
6

Во-первых, я проходил не ту Царство. (Спасибо Алексу Варджу за это)

Вы должны передать то же царство, которое сервер посылает вам при попытке войти в систему (просто нажмите Ctrl-Shift-I или F12 на хроме и попали в сеть, чтобы посмотреть на него)

Вторая проблема заключается в том, что я передаю номер порта, а sbt, похоже, не нравится ...

Итак, в конце я сделал это так, и все работает нормально:

val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
  credentials += ("Sonatype Nexus Repository Manager", "deploy.cloud.testmx.com", "testmx", "[email protected]"),
  resolvers += "testmx public" at "http://deploy.cloud.testmx.com:8081/nexus/content/groups/public/"
)

Настройки ваших учетных данных в другом файле, как и ожидалось, тоже работали нормально с теми же изменениями ...

Спасибо всем за ваши ответы

Для меня это сработало только после чистой игры
Просто повторять другим, которые приходят. Как говорили другие, убедитесь, что ваше Царство верно.
11

publishTo := Some("testmx public" at "http://deploy.cloud.testmx.com:8081/nexus")

Кроме того, если вы не хотите сохранять свои учетные данные в файле сборки, вы можете указать, чтобы они запрашивались локально, добавив строку:

credentials += Credentials(Path.userHome / ".ivy2" / ".credentials"),

И в твоем~/.ivy2 каталог создать.credentials файл как это:

realm=Sonatype Nexus Repository Manager
host=deploy.cloud.testmx.com
user=testmx
[email protected]

Увидетьhttps://github.com/harrah/xsbt/wiki/Publishing для большего

У меня была похожая проблема сегодня, и я обнаружил, что Wireshark - это эффективный способ увидеть, что происходит на сетевом уровне. В моем случае я не устанавливал атрибут Realm в «Sonatype Nexus Repository Manager», поэтому пароль не отправлялся.
большое спасибо за ваш ответ, Мануэль, я попробовал то, что вы сказали, но я все еще получаю ту же ошибку, любой способ отладки sbt, чтобы узнать, какие учетные данные передаются? opensas
Ты был прав, Алекс, я пропустил не ту область, которая должна быть "Sonatype Nexus Repository Manager", но я все еще получаю ту же ошибку ... собираюсь попробовать с wireshark ... opensas
кажется, что publishTo не является необходимым, когда вы только выбираете зависимости ... opensas

Похожие вопросы