In 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] completepathview- localabcvalidationivy.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>
我怀疑你的问题可能是双重的。
首先,你启用了"returnFirst"参数,这将告诉链解析器优先于一个回购:
- http://ant.apache.org/ivy/history/latest-milestone/resolver/chain.html
其次,我认为你需要清除你的常春藤缓存,如果你在解析操作之间改变存储库的内容。
- http://ant.apache.org/ivy/history/latest-milestone/use/cleancache.html
缓存将保留先前解析的记录,以便优化网络操作。