使用ivy构建jar包的依赖关系

【题目】使用ivy构建jar包的依赖关系

 

【提要】

1           要解决的问题

2           关于网络上的repository介绍

3           MavenIvy的工作原理和比较

4           ivy运行环节的配置

5           配置中的细节问题

 

【内容】

1           要解决的问题

使用java架构的开源框架最为头痛的事情就是要面对一大堆相互之间存在依赖关系的jar包。有以下几个原因造成了它们之间关系的复杂性:

首先,jar包之间的依赖关系是有传递性的,即A.jar依赖B.jarB.jar又依赖C.ja,以此类推……,这样要使用A.jar就必须找到所有与之有直接或间接的依赖关系的jar包;

其次,是依赖关系与jar包的不同版本密切相关,例如hibernate-3.2.6.ga.jar依赖asm-1.5.3.jar,而spring-2.0.6.jar依赖asm-2.2.3.jar,必须解决两个不同版本的asm之间的版本冲突;

其三是一个开源框架往往是一组jar包的组合,而框架间的依赖关系分为许多不同情况下的依赖,如:编译时依赖、运行时依赖、测试依赖等,不同状态下需要取用不同的jar包文件;

其四是jar包的下载、升级和管理,一个框架中jar包间达成的依赖关系可能是非常复杂的!管理这些jar包不胜其烦,一个jar包的升级可能导致必须升级更替一系列的jar包文件。

 

2           关于网络上的repository介绍

maven2出现部分地解决了上述问题,它的思想就是自动解决jar的依赖关系问题,它和IVY一样是一个关于项目构建和测试的管理工具,理解这类工具的工作原理,首先要了解网上开源社区里面的所谓repository(仓库)系统,它和maven是配套使用的,粗略看起来,可以理解为一个在远程服务器上的一个大型的、包括了各种各样的jar文件的下载服务器,但是它绝不像下载服务器那样简单,我们可以实际看看它的结构:

2.1          可供下载jar包的地址(即:maven.repo.remote)的几个镜像站点

http://www.apache.org/dist/java-repository/

http://apache.binarycompass.org/java-repository/

http://www.bluesunrise.com/maven/

http://fisheye5.cenqua.com/browse/glassfish/repo/

http://dist.codehaus.org/

http://source.concord.org/repository/

http://www.ganet.org/maven/

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值