免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6819 | 回复: 9
打印 上一主题 下一主题

不明白ant具体有什么用? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-03 15:42 |只看该作者 |倒序浏览
看到不少书都有讲ant的配制及应用,
不过我不太明白它有什么具体的用处,
请各位能讲一下吗?
具体用在何处?

论坛徽章:
0
2 [报告]
发表于 2006-08-03 18:24 |只看该作者
java make

论坛徽章:
0
3 [报告]
发表于 2006-08-03 18:43 |只看该作者
原帖由 jhsea3do 于 2006-8-3 18:24 发表
java make


能说一下具体用处吗?

如果不用的话会出现那些缺陷?

论坛徽章:
0
4 [报告]
发表于 2006-08-03 18:51 |只看该作者
那你就一个一个程序地编译吧

论坛徽章:
0
5 [报告]
发表于 2006-08-04 08:13 |只看该作者
就是相当于Unix下面写C程序用的make

论坛徽章:
0
6 [报告]
发表于 2006-08-04 08:50 |只看该作者
还是看看ant的Feature

论坛徽章:
0
7 [报告]
发表于 2006-08-04 12:44 |只看该作者
不用也无所谓,因为现在的IDE都可以编译工程,以及做jar包
但是ant 编译java 身成jar包,war包,copy,设置classpath,使用版本管理更新代码等很多功能是很强大的,可以方便程序的部署,打包。

论坛徽章:
0
8 [报告]
发表于 2006-08-04 13:07 |只看该作者
楼上的真是做项目 你就不会觉得用不用ant没有区别了.
一个人用ide当然感觉不出来
其实是有不少感觉的

论坛徽章:
0
9 [报告]
发表于 2006-08-04 18:52 |只看该作者
我自己新建一个项目是一定要写一个build.xml

然后可以用这个配置文件配合系统脚本可以做到:

1. 编译项目jar
2. 编译文档
3. 编译js (压缩js)
4. 打包war
5. 把打包的war放入web容器并启动web容器。
6. 清除dist.
7. 打包成snapshot
8. juit

你很难体会用ant有多方便,我只要写好对应的bat, bash脚本,就可以在本地机和服务器方便的测试了。

论坛徽章:
0
10 [报告]
发表于 2006-08-05 01:47 |只看该作者
看看《ant权威指南》或者ant的网站吧,里面介绍得非常详细ant的来历,目的。
ant是tomcat的一个副产品,是在开发tomcat过程中,开发人员需要一个整合编译工具,因为在一个大项目中,源代码散落在不同的package下面,即不同的子目录下面,子目录即包含源码文件,又包含更深层的子目录,因此,编译源代码并不是一句命令就可以搞定的。

windows下面用visual studio开放产品的时候可以一键编译,是因为visual studio创建了很多项目资源文件,编译时在后台自动调用了很多cc之类的命令,这个和Unix/Linux下编译过程是一样的,只不过没有明显显示出来而已。Unix/Linux下有一个自动编译工具,叫做automake,只要你定义好Makefile,然后只要运行make命令,automake会自动到所有子目录下寻找需要编译的源码进行编译和连接,所以unix/linux下也可以一条命令编译。

可惜,java下并没有这样的工具。所以tomcat的开发者原来想使用automake作为集成编译工具的。不过,后来发现automake并不完全符合他们的要求,首先,automake不是跨平台的,这就意味着他们写的编译脚本不能和tomcat源代码一样被移植。其次,开发者需要的一些特性automake提供不了,扩展其功能也不是非常方便,所以就自己开发了一个基于java的跨平台的make工具,ant就这样诞生了。

由于java程序的特性,不同的源代码编译的时候需要引入很多第三方的jar包,ant可以使用通配符的方法自动装载一些目录下所有的jar,而不再需要一个一个手工指定classpath了。这点是最早引起我注意ant的。用ant管理java程序的发布过程,编译,测试,生成javadoc文档,打包,上传,可以用一个命令就搞定了,是不是很方便?

除此之外,ant可以执行的操作已经远远超过了编译java程序这个范围。ant可以下载网络上的文件,可以通过ftp上传/下载文件,可以自动把编译好的有关文件打包,可以自动打包成jar, war, ear等java ee所需要的应用包的不同格式,自动调用测试程序来测试代码,也可以自动解开压缩包。ant还可以实现文本替换, 实现copy, move, delete 等等文件操作。通过ant配置文件也可以让你用命令行就可以发送邮件,自动部署tomcat应用。还能自动从源码管理系统如CVS/Subverion/VSS里面取出源代码,也能自动向源码版本管理系统提交修改。功能太多了。具体自己看ant的文档吧。

我就曾经用ant实现了一个每日自动把日志文件压缩后并上传到某个服务器,然后发送邮件通知的功能,也实现过每天自动备份指定的目录的功能,ant能够自动识别新修改过的文件而实现了增量备份,省时省力,非常好用,比写perl脚本都要简单许多。整个ant目录不含文档仅3.41M大小,加上文档总共31.4M,ant的文档是非常详细的,几乎每一个ant命令都有示例,依样画葫芦copy下来稍微改一下就可以用了。如果英文水平足够的话光看文档就够了,不需要买任何书就能掌握ant的用法了。

[ 本帖最后由 perryhg 于 2006-8-5 01:55 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP