我正在使用Ivy来构建包含多个组件的项目。我想将这些组件上传到Nexus 2.6.4
我可以使用curl
和默认用户名和密码将文件发布到Nexus:
curl -i -v -u deployment:deployment123 --upload-file a.txt http://myserver:8081/nexus/content/repositories/releases/acp/myproject.app/1.0.0.20160622175545/a.txt
这完全没问题!当我使用Nexus UI进入系统提要:授权和身份验证部分时,我可以看到连接成功。
当我将密码更改为错误密码时,我可以在授权和身份验证Feed中看到连接尝试失败。
然而,当我使用Ant构建我的项目时,我点击了Unauthorized(听起来像401)。我在Nexus Feed中看不到任何内容(这意味着根据Nexus文档没有发送凭据)。
ivysettings.xml:
<ivysettings>
<settings defaultBranch="${ivy.deliver.branch}" defaultResolver="default-chain" />
<properties file="${ivy.settings.dir}/build.properties" />
<credentials host="${repo.host}" realm="${repo.realm}"
username="${repo.user}" passwd="${repo.pass}" />
<resolvers>
<filesystem name="local" transactional="true">
<ivy
pattern="${ivy.default.ivy.user.dir}/local/[organisation]/[module]/[branch]/[revision]/ivy-[revision].xml" />
<artifact
pattern="${ivy.default.ivy.user.dir}/local/[organisation]/[module]/[branch]/[revision]/[type]s/[artifact]-[revision].[ext]" />
</filesystem>
<ibiblio name="nexus" m2compatible="true" root="${nexus-public}" />
<ibiblio name="nexus-releases" m2compatible="true" root="${nexus-releases}" />
<chain name="default-chain">
<resolver ref="local" />
<resolver ref="nexus" />
</chain>
</resolvers>
</ivysettings>
build.properties包含(除其他外):
repo.host=myserver
repo.port=8081
repo.user=deployment
repo.pass=deployment123
repo.realm=Nexus Repository Manager
bundle.publish.resolver=nexus-releases
有什么想法吗?
答案 0 :(得分:2)
领域不正确。正确的值为Sonatype Nexus Repository Manager
。使用curl
不需要领域,但是在从Ant进行身份验证时。