Apache Ant Ivy 笔记 (一)

来源:互联网 发布:三维弹球mac版 编辑:程序博客网 时间:2024/06/09 17:22

简介


我们现在java项目用的build工具是ant,  虽然也知道还有一个maven, 而且现在用的人越来越多, 但是偷懒不愿去深入看.
不过maven中的dependency功能还是很好, 一直希望ant也有这么个功能就好了.
今天, 无意中去Apache Ant的主页, 结果就看到了Ivy2.

Ivy以前也听说过, 不过一直没有尝试去用. 今天看到了就小试了一下.

Ivy的安装


Ivy的安装很容易, 下载之后只要将Ivy的jar文件放到Ant的lib目录就可以了.
http://ant.apache.org/ivy/history/latest-milestone/install.html

当然, 如果你用的是ant1.5, 那么安装就稍微麻烦一点. 我用的是Ant 1.7. (免费的为什么不用最新的, 而且出来也已经一年多了, 更没理由不用了)

Ivy 小试

Ivy的src目录下有一些example:
apache-ivy-2.0.0-beta1/src/example/hello-ivy

命令行下进入上述目录, 然后ant
执行结束, 就可以发现多了lib和build的目录以及里面的内容.

打开ivy.xml, 可以看到两个个dependency的定义.
<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>

到lib目录下看, 有三个jar文件
    commons-cli-1.0.jar
    commons-lang-2.0.jar
    commons-logging-1.0.jar

这些就是从repository复制/下载下来的jar文件. 确实不错,
以后就不用手工去copy那么多的jar了, 而且还不知道是否真的用到, 管理起来也太麻烦.
这下好了, 有了Ivy看来可以稍微轻松一点了, 唯一要投资的就是Ivy的学习时间. 还是值得的!

Ivy Dependency

关于dependency, 从英文文档翻译一下, 简单来说:
  1. Ivy默认使用maven 2的repository. 要设置dependency中的属性值, 需要知道library的确切信息.
  2. mvnrepository.com上可以找到library以及他们的详细信息. 一旦你找到了你需要的类库, 就可以找到这些类库在Maven2的POM文件中dependency的信息.
  3. 把Maven2的dependency转换为Ivy的dependency, 你只要把groupId作为organization, 把artifactId作为module name, version作为revision.
  4. ...

原创粉丝点击