Apache Ant Ivy Quick Start(快速入门)

原文出处:http://blog.chenlb.com/2009/02/apache-ant-ivy-quick-start.html

<!-- google_ad_section_start -->

Ivy是一个免费基于Java的依赖管理器。它提供了一些强大的功能包括依赖传递,ant集成, maven存储库兼容,持续集成,html报告等

下载ivy 2.0 http://ant.apache.org/ivy/download.cgi,校内镜像:http://labs.xiaonei.com/apache-mirror/ant/ivy/2.0.0/apache-ivy-2.0.0-bin-with-deps.zip

下载好后安装它,把它解压到f:/ivy-2.0.0(把此目录认为是IVY_HOME),把IVY_HOME/ivy-2.0.0.jar放到ANT_HOME/lib目录下。然后命令行入到IVY_HOME/src/example/hello-ivy目录,运行ant。然后它会下载依赖的所有jar包。

看下hello-ivy的依赖配置:

  1. <ivy-module version="2.0">  
  2.     <info organisation="org.apache" module="hello-ivy"/>  
  3.     <dependencies>  
  4.         <dependency org="commons-lang" name="commons-lang" rev="2.0"/>  
  5.         <dependency org="commons-cli" name="commons-cli" rev="1.0"/>  
  6.     </dependencies>  
  7. </ivy-module>  
<ivy-module version="2.0">
    <info organisation="org.apache" module="hello-ivy"/>
    <dependencies>
        <dependency org="commons-lang" name="commons-lang" rev="2.0"/>
        <dependency org="commons-cli" name="commons-cli" rev="1.0"/>
    </dependencies>
</ivy-module>

依赖commons-lang-2.0.jar 和 commons-cli-1.0.jar,ivy会自动下载,当然还有这些*.jar所依赖的jar, 如这里的commons-cli-1.0.jar依赖commons-logging-1.0.jar,不用在ivy.xml文件定义。它们已经在lib目录下了。

然后你再一次运行ant,ivy不会再下载这些jar,因为本地有缓存了。

当然也可以用ant report任务,输出jar依赖报告,默认在build目录,org.apache-hello-ivy-default.html。

延伸:默认缓存目录为${user.home}/cache。你也可以改它的默认目录在运行ant时,设置,如ivy.default.ivy.user.dir=f:/ivy2,所以它会缓存到f:/ivy2/cache。

ant -Divy.default.ivy.user.dir=f:/ivy2

相关推荐