Apache Ivy术语和含糊之处

IAm*_*aja 4 svn apache caching repository ivy

我正在学习如何使用"蛮力"方法增加我的构建,只需尝试启动和运行一些示例项目.我已经倾听了官方文档,并阅读了几个在线教程,但是在一些似乎被模糊地,含糊不清地和/或以某种方式以相互冲突的方式使用的术语令人窒息.我正在寻找一位经验丰富的常春藤鉴赏家,以帮助我为这些术语带来一些清晰度.

  1. "解决方案"缓存与"存储库"缓存与"常春藤"缓存
  2. "Ivy Repository",而不是我的普通SCM,它是运行SVN的服务器

这3种缓存有什么区别?" Ivy Repository "和我的SVN有什么区别?

感谢任何能提供帮助的人!

oer*_*ers 5

"解决方案"缓存与"存储库"缓存与"常春藤"缓存

常春藤缓存基本上是一个文件夹,常春藤存储工件和配置.如果配置不同,可以在UserHome/.ivy2中找到

常春藤缓存分辨率缓存和存储库缓存组成.

存储库缓存包含由常春藤下载的存储库中的工件.它正在缓存存储库,因此每次尝试解析/下载工件时,常春藤都不需要查询存储库.如果它在存储库缓存中找到合适的工件,则它不会查询存储库.从而节省了查询存储库的成本.是否以及如何使用缓存有点复杂,取决于依赖性/配置.

分辨率缓存是常春藤特定文件的集合,告诉常春藤如何解析(下载)工件.

"Ivy Repository",而不是我的普通SCM,它是运行SVN的服务器

常春藤世界中的存储库是一个位置,其中包含工件(jar)文件.这可以是本地文件系统或Web服务器.它没有版本控制系统.每个版本的工件都包含在单独的文件夹中.您无法提交工件,只需将它们添加到文件系统即可.请参阅术语

  org\artifact\version1\artifact.jar  
  org\artifact\version2\artifact.jar
Run Code Online (Sandbox Code Playgroud)

通过解析器访问存储库,解析器必须知道存储库的布局.

从缓存文档:

Cache types
An Ivy cache is composed of two different parts:

    the repository cache
    The repository cache is where Ivy stores data downloaded from module repositories, along with some meta information concerning these artifacts, like their original location.
    This part of the cache can be shared if you use a well suited lock strategy.
    the resolution cache
    This part of the cache is used to store resolution data, which is used by Ivy to reuse the results of a resolve process.
    This part of the cache is overwritten each time a new resolve is performed, and should never be used by multiple processes at the same time. 

While there is always only one resolution cache, you can define multiple repository caches, each resolver being able to use a separate cache.
Run Code Online (Sandbox Code Playgroud)