新到一家公司,用的maven来构建项目的,之前只是了解过但实际用。而且MAVEN仓库中总是给下载很多不认识也没见过的jar包,不喜欢。还是喜欢ANT这个短小精悍的强将,于是乎,盯上了Ivy ,初步尝试,记点笔记:
一、下载安装:
下载地址:http://ant.apache.org/ivy/download.cgi
Ivy 安装很简单,直接解压,将ivy.jar copy到ANT_HOME/lib目录下就可以了。(前提是ANT已经安装配置)
测试安装是否成功:在解压出来的ivy目录下,有个src/example/hello-ivy工程,在工程下,你会发现
两个配置文件,build.xml 和ivy.xml,切换到该目录下,执行ant。你会发现ivy已经开始下载所需要的jar包。完成后,
该 目录下回多出来两个文件夹,build和lib。 在执行完,到user.home/.ivy,你会发现ivy会多了很多文
件,并且在cache中已经有了我们需要下载的jar包。这是ivy默认的路径。
二、Ivy 的变量和配置:
Ivy 的工作目录默认是user.home/.ivy,默认值被打进了ivy.jar包里:
Ivy 使用"ivy.default.ivy.user.dir"作为工作目录,ivy通过以下方式确认该目录的具体路径:
1. 查找变量ivy.default.ivy.user.dir
2. 如果没有找到,查找变量ivy.home
3. 如果还没有找到,查找变量user.home,然后使用user.home/.ivy目录
缓存目录是user.home/cache:
默认安装而没有专门设置前,前两个变量不存在,因此ivy就会使用user.home作为默认工作目录.
Ivy 使用cache目录来存放缓存文件,ivy通过以下方式确认该目录的具体路径:
1. 查找变量ivy.cache.dir
2. 如果没有找到,使用ivy.default.ivy.user.dir/cache
默认安装而没有专门设置前,前ivy.cache.dir变量不存在,因此ivy就会使用
ivy.default.ivy.user.dir/cache,由于ivy.default.ivy.user.dir在该情况下默认使用user.home,因此最后
的结果就是使用user.home/cache目录.
如果下载我想让他的工作目录到我的F盘,很简单,基于ANT的变量就可以,即在build.xml中调用ivy之前从新给
<target name="resolve" description="--> retreive dependencies with ivy">
<property name="ivy.default.ivy.user.dir" value="f:/IvyWorkspace"/>
<ivy:retrieve />
</target>
考虑到不同开发人员本地Ivy路径不同,可以将工作路径写到系统变量中,利用ANT可以读取系统变量的特性来读
取Ivy的工作路径
<property environment="SystemVariable" />
<target name="resolve" description="--> retreive dependencies with ivy">
<property name="ivy.default.ivy.user.dir" value="${SystemVariable.IVY_HOME}"/>
<ivy:retrieve />
</target>