Ant学习

来源:互联网 发布:水杉软件32位 编辑:程序博客网 时间:2024/05/16 06:43

      以前一直使用IDE来进行构建。最近对代码进行大规模得重构,对重构后得代码很不放心,想跑跑单元测试。看了一眼测试用例。太多了,就是分包运行也要10来次才能跑完,才想起了ANT得好处。
       不得不承认,ANT得JUnit任务确实让我眼前一亮。生成得测试报告相当得漂亮。决定尝试把项目文件迁移到ANT上试试。
       遇到问题:
(1)最大的问题,如何设计项目目录结构。当工程很大时,往往牵扯到多个子工程,多种文件格式。如何放置这些文件往往很头痛。
(2)如何定义任务。工程稍大时,牵扯技术较多时,往往存在很多任务。除去常用的compile,deploy,clean,jar,init等,还存在备份,代码自动生成等。当你某个任务较为复杂时或者需要进行任务重用的时候,还需要对任务进行分解成多个小任务。动辄一二十个任务。看着头就大。
         目前,开源项目中的build.xml文件也存在这一问题。稍微可以缓解这一问题的方法。在多个子目录中使用子文件。不过,一些特殊的任务,还是很难处理。如代码生成。
(3)考虑到灵活性,文件中变量相当的多,都是全局的。看着相当不爽,写的时候也很麻烦,老是要想一想。Ant的best practice中,推荐使用taskname.classpath的设置方法。实践中,一定程度上缓解了这一问题。
     总结:
         在写构建文件前,必须对工程目录,任务有一个较为明确的想法。否则,边写边改,最后的构建文件简直没法看。自己都不知道构建任务有没有按照我们所想的去做。
        对大型工程,一定要分子工程,分别进行构建。避免形成超长的构建文件。
        对某些特殊的任务,如初始化生成目录结构,自动化代码生成。往往只使用一次,且对目录结构有着破坏性的影响。建议单独写一个构建文件。单独运行。主构建文件尽量通用化。提高重用性。
      

写成一个好的构建文件还是有一定难度的,如果可以上网的话,maven也还是不错的选择。

 

原创粉丝点击