浏览 5062 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (2)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-23
最后修改:2010-03-17
项目做久了,发现有个检索更新文件和升级更新文件的工具还真是方便,年假回家前几天比较清闲,正好来写写这个小工具,回来后又加了几个简单的界面,不足之处,请大家多多指教。
1.首先检索在指定日期内有哪些文件被修改
2.生成更新包,保存到本地
3.上传更新包
4.解压更新包
5.更新升级
代码参见: 超级简单、超级实用的版本升级小工具----代码实现
基本思路如下: /** * 版本更新工具的实现: * <p>1.生成更新包 * <p>(1)在指定目录下查找修改日期介于指定日期之间的文件 * <p>(2)如果存在文件记录则将其打包 * <p>(3)压缩包的下载 * <p>2.使用更新包 * <p>(1)上载更新包 * <p>(2)解压到指定目录 * <p>(3)备份要更新的文件 * <p>(4)替换要更新的文件 * * @author SavageGarden * */ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-02-24
类似我的工具我也写了一个,但是原理不是通过时间,也不是通过大小,而是通过MD5值,这个应该是最准确的,时间太难保证了,很多机器的时间都不准确,如果按照时间少更新了一个文件,可能会导致整个系统的崩溃或者大量错误数据的产生,同理如果通过大小也是不精确的,如果为了修改bug 将=修改为!=或者加入一些注释,空格等很小的内容,文件的大小可能不会变化(起码在资源管理器的属性上看没有变化) 因此建立楼主还是老老实实地使用MD5吧,否则一次出错了,老板的板子就是打到你的屁股上,哈哈
|
|
返回顶楼 | |
发表时间:2010-02-24
neusoft 写道 类似我的工具我也写了一个,但是原理不是通过时间,也不是通过大小,而是通过MD5值,这个应该是最准确的,时间太难保证了,很多机器的时间都不准确,如果按照时间少更新了一个文件,可能会导致整个系统的崩溃或者大量错误数据的产生,同理如果通过大小也是不精确的,如果为了修改bug 将=修改为!=或者加入一些注释,空格等很小的内容,文件的大小可能不会变化(起码在资源管理器的属性上看没有变化) 因此建立楼主还是老老实实地使用MD5吧,否则一次出错了,老板的板子就是打到你的屁股上,哈哈
能共享下源码学习学习吗 ?谢谢 ! |
|
返回顶楼 | |
发表时间:2010-02-24
如果要更新配置文件或者class,不是要重启服务吗?你怎么处理呢?不是只有jsp啊?
|
|
返回顶楼 | |
发表时间:2010-02-24
希望LZ能共享下
|
|
返回顶楼 | |
发表时间:2010-02-24
daiing 写道 如果要更新配置文件或者class,不是要重启服务吗?你怎么处理呢?不是只有jsp啊?
可以设置多个服务器,一个更新的时候,用另一个提供服务吧,或者是在晚上的时候,影响会小一些 |
|
返回顶楼 | |
发表时间:2010-02-25
几点说明:
1. 之所以使用时间,是因为一般是检索自己机器上搭建的开发环境,从自己的机器上检索自己在某段时间内修改的文件,然后打包,然后到生产机更新,用md5肯定更精确,但我想用时间足以胜任。 2. 这个工具检索的是webroot下的所有文件,但是你可以在配置文件中指定哪些目录不被检索,比如:WEB-INF/classes 3. 源码位于 http://savagegarden.iteye.com/blog/600946 其中包括web应用和核心源码,此外核心源码可以脱离web应用作为application使用。 感谢大家关注! |
|
返回顶楼 | |
发表时间:2010-02-25
不用重起服务器的可以看看这个文章
http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/index.html |
|
返回顶楼 | |
发表时间:2010-02-26
最后修改:2010-02-26
缺少程序版本控制功能,加入版本控制和版本依赖,就更好了。
|
|
返回顶楼 | |