纯 Ant 编程 在J2EE 项目中的用武之地--智能构建..
时间:2010-05-25 来源:夏德虎
从事J2EE开发的程序员都有经验,对已经上线的系统个别功能的修改,一般都采用补丁包的方式来发布,将少量的class,html,jsp,xml等文件按照系统目录结构逐个添加到zip或rar压缩包,然后再添加必要的部署手册或版本说明书,最后发往现场。
实际中如果文件稍多,则容易出现文件路径错误,遗漏个别class文件等情况(尤其是包含内部类时),导致补丁包打包失败。
因此,本文借助纯Ant编程来解决该问题,提供以下功能
1.对于java文件只需列出.java文件路径清单,ant程序会根据配置自动匹配class及内部类class,并添加到zip包正确的目录。
2.对于jsp,html,xml文件同样只列出源文件路径清单即可。
3.对于版本相关文档(如部署手册及补丁说明)及其他文件放入ant程序对应的目录即可。
4.对于采用SVN管理的项目,可自动列出本次补丁所有文件对应的版本号及最后修改时间,并添加到压缩包内供以后定位问题。
5.程序会列出本补丁包含所有文件清单,添加到补丁包内,供检查是否遗漏.
6.程序最终输出为zip包,可灵活配置为直接待发布的补丁包。
7.配置灵活,可适应绝大多数基于SVN版本管理(对于其他管理工具需要自己修改相关代码)的J2EE项目。
主要配置说明:
buildPatch.properties (最重要的配置文件)
属性 | 说明 | 是否需修改(Y,N) |
webApp | 应用名如 (ESS) | Y |
appName | 应用中文名,### | Y |
province | 省份 | Y |
problem | 补丁解决的问题描述 | Y |
version | 版本号 | Y |
UserVersion | 用户可见版本 | Y |
author | 作者 | Y |
delimiter | 分隔符 | N |
projectDir | 工程目录,源文件所在目录 | Y |
webDir | 编译后web目录 | N |
workroot | 工作根目录,放置产出文件的路径 | N |
buildAllFile | 全编译的ant脚本文件路径 | N |
zipDir | 补丁包路径 | N |
dbDir | 补丁包DB路径 | N |
svn-userName | svn用户名 | Y |
svn-password | svn用户密码 | Y |
svn-fileList | 补丁文件svn清单输出文件路径,会生成svn-fileList.txt,包含该补丁所有的源文件路径及版本信息 | N |
ascPath | asc文件路径,该目录在运行过程中使用 | N |
javaListFile | java文件配置路径 | N |
replaceJavaListPropertyFile | java文件替换属性配置文件路径 | N |
classListFile | class文件配置路径 | N |
replaceClassListPropertyFile | class文件替换属性配置文件路径 | N |
pageListFile | page文件配置路径 | N |
replacePageListPropertyFile | page文件替换属性配置文件路径 | N |
dbListFile | db文件配置路径 | N |
replaceDbListPropertyFile | db文件替换属性配置文件路径 | N |
newLine | 换行符 | N |
attachFilesPath | 附件文件夹,放置在这个文件夹下的文件都会被打包到补丁内 | N |
deletePatchOrignalFiles | 打包文件成功后,是否删除打包的原始文件 | N |
zipPatchCfgFiles | 打包补丁包所有配置文件及附件 | N |
以下附件仅供参考,如需实际使用,需要针对项目修改配置
需要修改的配置文件有:
buildAll.xml 全编译脚本
buildPatch.properties 补丁包主要配置
javaListFile.txt java文件清单
pageListFile.txt jsp,html,xml及其他非java文件清单
dbListFile.txt 数据库脚本文件清单
以下四个配置文件必须根据实际项目进行配置,请参见代码和示例文件进行配置
replaceClassListPropertyFile.txt class文件替换配置文件
replaceDbListPropertyFile.txt db文件替换配置文件
replaceJavaListPropertyFile.txt java文件替换配置文件
replacePageListPropertyFile.txt page文件替换配置文件
该程序配置灵活但较为复杂,待后续补充
ant程序文件
|
ant编程和ant操作svn所需jar包,要添加到ant的classpath内
|
|
相关阅读 更多 +