是否有人测试过如何在Archiva中部署启用了安全性的工件。 我有以下配置
我的ivysettings.xml
<ivysettings>
<settings defaultResolver="archiva"/>
<resolvers>
<ibiblio name="archiva"
m2compatible="true"
root="http://localhost:8080/archiva/repository/internal/[organization]/[module]/[revision]/[artifact]-[revision].[ext]"/>
</resolvers>
</ivysettings>
我的build.xml
<target name="ivy-init">
<ivy:settings file="${ivy.settings.dir}/ivysettings.xml" refid="ivy.classpath">
<credentials host="localhost"
realm="Repository Archiva Managed Internal Repository"
username="deploy_user" passwd="deploy_pwd" />
</ivy:settings>
</target>
<target name="deploy2Archiva"
depends="jar,local-maven-version">
<ivy:makepom ivyfile="${ivy.file}"
pomfile="dist/demo-core.pom">
<mapping conf="compile" scope="compile"/>
<mapping conf="test" scope="test"/>
</ivy:makepom>
<ivy:publish
resolver="public"
pubrevision="${version}"
overwrite="true"
pubdate="${now}"
status="release"
forcedeliver="true"
artifactspattern="${dist.dir}/[artifact].[ext]"/>
</target>
我的Archiva deploy_user拥有“Repository Manager”Archiva角色,但我收到了未经授权的消息。 实际上,凭证似乎没有考虑在内,因为如果我将“Repository Manager”设置为访客Archiva用户(未经身份验证的用户),则会部署工件。
Archiva使用webdav协议。你有使用Ivy webdav解析器的实验证书吗? 有什么想法吗?
答案 0 :(得分:2)
凭证元素的领域属性似乎区分大小写,因此您可能想尝试使用realm =“Repository Archiva Managed internal Repository”(请注意'内部'中的小写'i'!)
答案 1 :(得分:2)
这也遇到了很多麻烦。这是解决方案:
为Ant启用调试日志记录 在异常之前查找这样的消息:
[ivy:publish]尝试获取凭据: Repository Archiva托管内部Repository@domain.com
您需要在ivysettings.xml文件中添加符合其所需内容的凭据
<credentials
host="domain.com"
realm="Repository Archiva Managed internal Repository"
username="username"
passwd="password" />
Realm是“Repository Archiva Managed internal Repository”,主机是“domain.com”,取而代之的是调试输出中显示的任何值,以及正确的用户名和密码。
我希望这有助于某人!