我们最近从Ant切换到Buildr来构建我们的项目.我们使用ivy进行依赖管理,使用ivy4r Buildr扩展.我们在办公室有一个本地存储库,用作公共工件的缓存,我们还在其中发布我们自己的工件.
现在出现问题:当我无法访问Office存储库时,我希望能够构建我的项目.Buildr有一个标志告诉它脱机工作(-o),但ivy4r似乎没有考虑到这一点.有没有办法让常春藤不尝试下载文物?我已将它们全部提供在我的机器上的缓存中.
您可以将缓存属性$ {ivy.cache.ttl.default}设置为永久,这将设置TTL:这样就不会检查存储库是否有新版本.
您可以通过使用以下参数调用ant来实现此目的:
ant -Divy.cache.ttl.default=eternal build
Run Code Online (Sandbox Code Playgroud)
这来自文档:
为已解决的修订缓存定义TTL(生存时间)规则.当Ivy解析动态版本约束(如latest.integration或版本范围)时,它可以存储分辨率的结果(如latest.integration = 1.5.1)给定时间,称为TTL.这意味着除非在刷新模式下运行resolve,否则Ivy将在不访问TTL持续时间的情况下重用此动态修订解析结果.
...
TTL持续时间也可以设置为"永久",在这种情况下,一旦解决,修订始终使用,除非在刷新模式下解析.
其他参考:
该解决任务具有属性useCacheOnly,它可以用来
强制[s]解析器只使用它们的缓存而不是它们的实际内容
例:
<ivy:resolve file="path/to/ivy.xml" useCacheOnly="true/>
Run Code Online (Sandbox Code Playgroud)