我正在尝试将zip文件部署到远程内部maven repo。(神器集成到hudson中)。
的pom.xml
...
<modelVersion>4.0.0</modelVersion>
<groupId>mygroupId</groupId>
<artifactId>myartifactid</artifactId>
<version>1.0-SNAPSHOT</version>
<distributionManagement>
<repository>
<id>hudson</id>
<name>hudson-releases</name>
<url>http://url to repo</url>
</repository>
</distributionManagement>
...
的settings.xml
<servers>
<server>
<id>hudson</id>
<username>username</username>
<password>password</password>
</server>
</servers>
maven deploy
mvn deploy:deploy-file -Durl=http://url -Dfile=file-1.0.0.zip -Dpackaging=zip -DpomFile=pom.xml
maven退出,返回码为401。
查看神器的日志
2011-07-15 13:52:50,090 [DENIED DEPLOY] libs-release-local:somefile.zip for anonymous/192.168.220.146.
我不明白为什么maven不使用提供的凭据。 我在这做错了什么?
答案 0 :(得分:13)
提示使用明文密码解决问题:
答案 1 :(得分:3)
Hudson很可能是缓存settings.xml。您可以尝试使用此URL http://your-hudson-url:8081/hudson/reload从磁盘重新加载配置,或者重新启动Hudson正在运行的容器。为我工作。
答案 2 :(得分:2)
由于某些原因,使用POM文件无效。所以我必须从命令行执行此操作。
mvn deploy:deploy-file -Durl=http://url -Dfile=file-1.0.0.zip -Dpackaging=zip -DartifactId=aid -DgroupId=groupId -DrepositoryId=repId -Dversion=1.0-SNAPSHOT
我仍然不知道为什么会这样。此外,我没有必要更改之前列出的settings.xml。
修改强>
此外,在神器的主页选项卡上,您可以通过单击“Maven设置 - &gt;生成设置”来获取maven设置。
答案 3 :(得分:2)
不要忘记检查您在 pom.xml 上放置<distributionManagement>
的内容是否与 .m2 / settings.xml标记上的内容相对应。 强>
答案 4 :(得分:1)
您正在发布快照版本,但尚未在POM的 distributionManagement 部分中指定 snapshotRepository 标记。或者尝试部署正常版本,看看是否有效
答案 5 :(得分:0)
默认情况下,Maven未设置为使用抢占式身份验证,并且在受到质疑时会遇到一些问题。
您可以尝试配置Maven的HttpClient Wagon以进行抢先身份验证(http://maven.apache.org/guides/mini/guide-http-settings.html),但我很少设法让它正常工作。 /> 既然你正在使用Jenkins \ Hudson,你可能想看一下Jenkins \ Hudson - Artifactory插件:
答案 6 :(得分:0)
更新Maven配置详细信息并添加nexus的凭据:
credentials: admin