Ivy:凭据不会发送到 Nexus

Ivy: credentials are not sent to Nexus

我正在使用 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 到系统源:授权和身份验证部分时,我可以看到成功连接。

当我将密码更改为错误的密码时,我可以在授权和身份验证源中看到失败的连接尝试。

但是,当我使用 Ant 构建我的项目时,我遇到了未授权(听起来像 401)。我在 Nexus 提要中完全看不到任何内容(这意味着根据 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

有什么想法吗?

领域不正确。正确的值为 Sonatype Nexus Repository Manager。使用 curl 不需要领域,但从 Ant 进行身份验证时需要领域。