WEB开发网
开发学院软件开发Java ivy中文参考文档(4)-主要概念(下) 阅读

ivy中文参考文档(4)-主要概念(下)

 2009-09-22 00:00:00 来源:WEB开发网   
核心提示: 查看配置页面来看如果配置你想使用的循环依赖策略,十二. 缓存和变更管理ivy非常依赖本地缓存来避免过于频繁的访问远程仓库,ivy中文参考文档(4)-主要概念(下)(4),从而节约网络带宽和时间,1) 缓存类型ivy缓存由两个不同部分组成:* 仓库缓存仓库缓存是ivy保存从模块仓库下载的数据的地方

查看配置页面来看如果配置你想使用的循环依赖策略。

十二. 缓存和变更管理

ivy非常依赖本地缓存来避免过于频繁的访问远程仓库,从而节约网络带宽和时间。

1) 缓存类型

ivy缓存由两个不同部分组成:

* 仓库缓存

仓库缓存是ivy保存从模块仓库下载的数据的地方,和一些关系到这些制品的元信息在一起,和他们的原始位置一样。

* 解析缓存

这个部分的缓存用来保存被ivy用来重用解析过程的结果的解析数据。

这个部分的缓存每次完成一次新的解析时都被覆盖,并且决不能被多进程同时使用。

通常只有一个解析缓存,但是你可以定义多个仓库缓存,每个解析器可以使用单独的缓存。

2) 变更管理

为了加快依赖解析和缓存使用的方法,ivy默认认为修订本从不修改。因此一旦ivy在它的缓存中有这个模块(元数据或者制品),ivy信任缓存,甚至不再查询仓库。大多数情况下这个优化时非常有用的,并且只要你遵循这个规范就不会引起问题: 修订本从不变更。除性能之外,还有几个好的原因来遵循这个原则。

无论如何,取决于你当前的构建系统和你的依赖管理策略,你可能更愿意更新你的模块。有两种变更需要考虑:

2.1) 模块元数据变更

模块提供者不考虑经常优化模块元数据,他们更多的关注他们的api或者行为(如果他们甚至提供模块元数据)。我们不喜欢的事情经常发生:我们不得不更新模块元数据,一个依赖被遗忘了,或者另一个丢失了......

在这种情况下,在你的依赖解析器上设置checkModified为"true"将是一个解决方案。这个标记告诉ivy需要检查模块的元数据相比较缓存是否被修改. ivy首先检查仓库中元数据的最后修改时间以决定只在必要时下载它,同样只在需要时更新它。

上一页  1 2 3 4 5  下一页

Tags:ivy 参考

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接