gpt4 book ai didi

scala - 发布到 Apache Archiva 被服务器拒绝并在 SBT 中显示“未经授权”?

转载 作者:行者123 更新时间:2023-12-02 01:48:30 25 4
gpt4 key购买 nike

我有一个多模块 SBT 项目,我正在尝试将其发布到远程 Apache Archiva。

[error] (core/*:publish) java.io.IOException: Access to URL http://XX.XX.XX.XX/repository/development/com/example/core_2.10/1.0.0.SNAPSHOT.304fcd73d72ffe4a05271197902c36b9a59b4922/core_2.10-1.0.0.SNAPSHOT.304fcd73d72ffe4a05271197902c36b9a59b4922.pom was refused by the server: Unauthorized

对于我的快照,我会附加提交的 Git SHA-1 哈希值。

Build.scala

publishMavenStyle := true,
publishArtifact in Test := false,
pomIncludeRepository := { _ => true },
publishTo := Some("development" at "http://XX.XX.XX.X/repository/development"),
credentials += Credentials(Path.userHome / ".ivy2" / ".credentials_development"), // archiva credentials by repo

我仔细按照我读过的帖子正确设置了领域。我通过执行以下操作检索了它:

curl -X POST http://xx.xx.xx.xx/repository/development -v > /dev/null

.credentials_development

realm=Repository Archiva Managed development Repository
host=XX.XX.XX.XX
user=myuser
password=mypassword

在 SBT 中,我运行:

compile
assembly
make-pom
package
publish

我可以通过网络管理使用用户上传工件。

我应该如何做才能使发布顺利进行?我是否需要通过 ivysettings.xml 设置凭据?

最佳答案

这个问题的评论让我找到了答案:sbt: publish to corporate Nexus repository unauthorized

不能在凭据文件中的主机名上包含端口(我的 Archiva 服务器在端口 8080 上运行)。这将阻止在凭据文件中使用您的凭据。发布。

我还在我的publishTo中指定了领域,并根据barnesjd的评论将我的凭证文件移动到~/.sbt(虽然不是在插件中,只是在~./sbt中)。

以下是我的配置,供其他人引用:

Build.scala

publishTo := Some("Repository Archiva Managed development Repository" at "http://XX.XX.XX.XX:8080/respository/development/"),
credentials += Credentials(Path.userHome / ".sbt" / ".archiva_credentials")

.archiva_credentials

realm=Repository Archiva Managed development Repository
host=XX.XX.XX.XX
user=myuser
password=mypassword

关于scala - 发布到 Apache Archiva 被服务器拒绝并在 SBT 中显示“未经授权”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22156248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com