Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4117005
  • 博文数量: 447
  • 博客积分: 1241
  • 博客等级: 中尉
  • 技术积分: 5786
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-27 06:48
个人简介

读好书,交益友

文章分类

全部博文(447)

文章存档

2023年(6)

2022年(29)

2021年(49)

2020年(16)

2019年(15)

2018年(23)

2017年(67)

2016年(42)

2015年(51)

2014年(57)

2013年(52)

2012年(35)

2011年(5)

分类: Java

2013-05-08 17:06:16

构建系统的技术含量不高,c和cpp 一般都是make ,cmake,scons。vc++ 也可以写source文件使用nmake进行build。
对于java构建系统就比较复杂了。
02年时候,使用struts 1.0的时候,经常修改Form文件后,再去修改struts-config.xml文件,不胜其烦,而且很容易出错。开始使用xdoclet,自动生成部署文件。
以后使用的ejb和hibernate时,经常用它生成ejb-jar.xml和*.hbm.xml文件。
要使用xdoclet,必须使用ant 1.0,所以说ant in action 和xdoclet in anction是我读的第一二本纯英文的java构建方面的书籍。
xdoclet也可以生成jsp tag的配置文件,不过一般用的很少,当然也可以生成web.xml,需要手工处理一下,一般就不用这个功能。
ant的功能很是强大,可以结合excel的vbscript ,生成非常直观的测试结果图表。甚至可以调用installshield,生成安装文件。天清汉马UTM数据中心和集中监控,都是ant脚本直接从cvs服务器直接拿到代码,编译后,自动打包tomcat和jdk,最后生成exe安装文件。

当然ant 也带来很多问题,主要是jar版本的管理问题。sohu blog的request系统,居然出现spring 2.5和spring 2.0的jar 同时存在。为了解决这个问题,sohu blog 开始使用maven,发布之前使用统一的maven脚本,进行编译,打包。
对于ide来说,maven可以生成eclipse和idea工程,eclipse基于工程的配置,对maven支持很不友好。而idea改为module的设计,和maven的设计如出一辙。
由于sohu白社会开发的工程浩大,涉及人员众多,开始的时候构建本地repository,使用maven进行每日构建。

对于网御的sag构建来说,最初考虑使用maven,后来因为代码架构的根本不符合maven的结构,况且maven也不支持AllJarsInOne,最后使用ant2 写了build.xml文件。
因为生产jar需要签名后发布到linux上面,凯凯使用gant 加groovy的脚本,结合ssh登录,自动发布到linux主机,并且重启java。
当时我是ruby fans,就用rake 加jruby 重写了发布脚本。

最后还是由于定制版本jar文件较多,涉及到jar管理问题,最后使用Ivy进行统一管理。

最近使用spring和hibernate,发现构建程序已经从maven改为gradle,我想主要原因是maven pom.xml配置复杂,而且不是很灵活。我也准备用gradle构建我的程序了。

阅读(2767) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~