我正在尝试将工件部署到受基本身份验证保护的存储库。
我指定
<distributionManagement>
<repository>
<id>some.repo</id>
<name>Some Repository</name>
<url>https://foo.bar</url>
</repository>
</distributionManagement>在pom.xml中
和
<servers>
<server>
<id>some.repo</id>
<username>user</username>
<password>{encoded password}</password>
</server>
</servers>在settings.xml中
但是当我运行mvn deploy时,它失败了,错误是:Not authorized , ReasonPhrase:. -> [Help 1]
如果我使用
<server>
<id>some.repo</id>
<configuration>
<httpHeaders>
<property>
<name>Authorization</name>
<value>Basic (hash)</value>
</property>
</httpHeaders>
</configuration>
</server>取而代之的是-它起作用了。
在使用Wireshark进行检查之后,我发现在第一个场景中(使用登录/密码),Maven.不会向Authorization请求添加HTTP头。
这是正确的行为吗?我是否在配置中遗漏了什么?
发布于 2018-02-06 17:32:33
好吧,在这种情况下,它不是Maven,而是服务器端的问题:服务器没有发送Connection: keep-alive头。有了这个头,授权流就可以工作了。
发布于 2019-10-24 05:39:25
maven将只在服务器响应时发送用户名/密码
状态码:401
header:WWW-Authenticate: Basic。
https://stackoverflow.com/questions/48631422
复制相似问题