常春藤解决问题rev =“1.0。+”

时间:2013-06-21 18:04:15

标签: ant ivy resolver

在ivy.xml中

   <dependency org="abc" name="validation" rev="1.0.+" changing="true" force="false"     conf="build->default"/>

在常春藤设置中:

    <chain name="hub-default-chain" returnFirst="true">
    <resolver ref="view-local"/>
    <resolver ref="hub-releases"/>

    </chain>

它从hub-release 1.0.25解析,但如果hub-release中没有任何内容,则不会从view-local解析1.0.22。我无法理解为什么它在一个存储库中解析但在其他存储库中没有解析。请帮助。

错误:

    module not found:  abc#validation;1.0.+
    [ivy:cachepath]         ==== view-local: tried
    [ivy:cachepath]          completepath\view-  local\abc\validation\ivy.xml
    [ivy:cachepath]           [working@view-local]
    [ivy:cachepath]           -- artifact   abc#validation;1.0.+!validation.jar:

PS:view-local是一个文件系统解析器,hub-releases是一个url解析器。

这是我的文件系统解析器

    <filesystem name="view-local"
                cache="view-local-cache"
                validate="true"
                local="${ivy.view-local.default.local}"
                checksums=""
                transactional="false"
                checkmodified="true"
                changingPattern="view-local">
        <ivy pattern="${ivy.view-local.default.repository.root}/${ivy.view-local.default.ivy.pattern}" />
        <artifact pattern="${ivy.view-local.default.repository.root}/${ivy.view-local.default.artifact.pattern}" />
    </filesystem>

1 个答案:

答案 0 :(得分:0)

我怀疑你的问题可能是双重的。

首先,您启用“returnFirst”参数,该参数将告诉链解析器支持一个仓库而不是另一个仓库:

其次,如果您要在解析操作之间更改存储库的内容,我认为您需要清除常春藤缓存。

缓存将保留先前结算的记录,以优化网络操作。