ivy教程(10)-架设仓库(2)-基础仓库复制
2009-10-08 00:00:00 来源:WEB开发网如你所见,安装失败了。如果你查看日志,你将看到在源仓库中缺少制品。这意味着你需要手工下载那些制品,然后复制他们到你的目标仓库来完成安装。幸运的是在安装过程中ivy使用最努力的算法,因此除了缺少的制品外所有的东西都安装好了。
你可以也注意到ivy已经安装了两个不同修订版本的commons-logging (1.0.2, 1.0.4).这归结于我们在ivysettings文件中使用了"no conflict"冲突管理器。
我们不想驱逐任何模块,因为我们正在构建我们自己的仓库。实际上如果我们同时获取commons-logging 1.0.2 和 1.0.4,那是因为在hibernate的递推依赖中有些模块依赖1.0.2而其他的依赖1.0.4。如果我们只获取1.0.4,依赖于1.0.2的模块将在你自己的昂哭中变得不一致(依赖一个你没有安装的版本)。因此直接使用这个模块的开发人员将遇到问题。
如果你现在更紧密的观察你的仓库,你将可能发现它不是一个准确的源仓库的复制品。让我们看一下一个模块的内容:
Z:\>dir /s /B /A:-D myrepository\no-namespace\org.hibernate\hibernate\
Z:\myrepository\no-namespace\org.hibernate\hibernate\ivys\ivy-3.2.5.ga.xml
Z:\myrepository\no-namespace\org.hibernate\hibernate\ivys\ivy-3.2.5.ga.xml.md5
Z:\myrepository\no-namespace\org.hibernate\hibernate\ivys\ivy-3.2.5.ga.xml.sha1
Z:\myrepository\no-namespace\org.hibernate\hibernate\jars\hibernate-3.2.5.ga.jar
Z:\myrepository\no-namespace\org.hibernate\hibernate\jars\hibernate-3.2.5.ga.jar.md5
Z:\myrepository\no-namespace\org.hibernate\hibernate\jars\hibernate-3.2.5.ga.jar.sha1
如你所见,这里没有pom(pom是maven2使用的模块metadata格式,在maven2仓库中可用)。作为替换你可以看到ivy文件,实际上是原始hibernate pom转化为ivy文件的。因此现在你有一个带有ivy文件的真实的ivy仓库,这里你可以使用ivy的完整能力,如果你想调整模块metadata(模块配置,细粒度的排除和递推控制,每个模块的冲突管理,...)。
好,对于这个简单仓库的安装就到这里了,下一个教程将展示如何处理更加复杂的情况,你的源和目的地仓库不遵循同样的命名转换。
更多精彩
赞助商链接