maven - 对 Maven 发布强制进行身份验证

标签 maven deployment nexus bad-request unauthorized

我在将 Maven 发布到 Nexus 服务器时遇到问题。看起来,它拒绝使用我提供的用户名和密码(但也可能存在其他问题)。

当我第一次输入“mvn release:perform”时,我收到“未授权”错误。但是,有些文件是在 Nexus 上创建的,即带有校验和等的 pom。当我第二次尝试(不更改任何内容)时,我收到不同的错误:“400 bad request”

当我删除文件并重试时,我再次收到第一个错误。

我使用 -X 标志运行它,看看我是否能理解正在发生的事情,并且我发现第一次运行该命令时,maven 省略了 settings.xml 中提供的用户名和密码:

[INFO] [DEBUG] 使用优先级为 0 的连接器 WagonRepositoryConnector http://nexus.example.com/content/repositories/releases

当我第二次运行它时,它包含我的凭据:

[INFO] [DEBUG] 使用优先级为 0 的连接器 WagonRepositoryConnector http://nexus.example.com/content/repositories/releases/作为开发人员

注意它说“作为开发人员”

当然,我不知道它以不同方式打印的事实实际上意味着什么,但看起来就是这样。

当我允许在 Nexus 中重新部署版本存储库时,我总是获得第一个变体(未授权)。

如果有人能告诉我如何强制 Maven 使用我的凭据(如果这确实是它没有做的事情)或其他可能出现的问题,我会非常高兴。

最佳答案

我现在已经让它工作了,通过在 Maven 发布插件中指定它只部署,而不是像默认那样部署和部署站点。

mvn site:deploy 失败并出现错误:Wagon 协议(protocol)“http”不支持目录复制。

当然,我最初的错误消息根本没有太多涉及网站。 生成有用错误消息的方法,Maven!

我在这里找到了一种强制抢先身份验证的方法:http://maven.apache.org/guides/mini/guide-http-settings.html (它没有解决我的问题,但它是标题的答案。)

关于maven - 对 Maven 发布强制进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17886428/

相关文章:

deployment - Kubernetes 部署。如何更改容器环境变量以进行滚动更新?

通过 exec-maven-plugin 运行 Java 代码时出现 java.lang.reflect.InitationTargetException

java - 配置 Eclipse 以将 App Engine 类预捆绑到单个 JAR 中以加快预热速度

eclipse - Maven 与 Eclipse 3.5 集成的分步过程

php - 向我的网站发出 HTTP GET 请求以获取未知的 .php 文件。为什么以及如何防止这种情况

tomcat - 在 Gentoo (log4j) 上将 Sonatype Nexus 部署到 Tomcat6 时出现问题

nexus - Sonatype Nexus - 发表意味着什么

security - Sonatype Nexus - 无法找到请求目标的有效认证路径

java - 从 eclipse 执行中读取 Maven 属性

java - 将 Maven 的 pom.xml 用于 gradle 构建依赖项?