论坛首页 Java企业应用论坛

超级简单、超级实用的版本升级小工具----功能预览

浏览 5016 次
精华帖 (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
 *
 */
  • 大小: 62.6 KB
  • 大小: 90.4 KB
  • 大小: 37 KB
  • 大小: 58.4 KB
  • 大小: 58.2 KB
  • 大小: 76 KB
  • 大小: 60.6 KB
   发表时间:2010-02-24  
类似我的工具我也写了一个,但是原理不是通过时间,也不是通过大小,而是通过MD5值,这个应该是最准确的,时间太难保证了,很多机器的时间都不准确,如果按照时间少更新了一个文件,可能会导致整个系统的崩溃或者大量错误数据的产生,同理如果通过大小也是不精确的,如果为了修改bug 将=修改为!=或者加入一些注释,空格等很小的内容,文件的大小可能不会变化(起码在资源管理器的属性上看没有变化) 因此建立楼主还是老老实实地使用MD5吧,否则一次出错了,老板的板子就是打到你的屁股上,哈哈
1 请登录后投票
   发表时间:2010-02-24  
neusoft 写道
类似我的工具我也写了一个,但是原理不是通过时间,也不是通过大小,而是通过MD5值,这个应该是最准确的,时间太难保证了,很多机器的时间都不准确,如果按照时间少更新了一个文件,可能会导致整个系统的崩溃或者大量错误数据的产生,同理如果通过大小也是不精确的,如果为了修改bug 将=修改为!=或者加入一些注释,空格等很小的内容,文件的大小可能不会变化(起码在资源管理器的属性上看没有变化) 因此建立楼主还是老老实实地使用MD5吧,否则一次出错了,老板的板子就是打到你的屁股上,哈哈


能共享下源码学习学习吗 ?谢谢 !
0 请登录后投票
   发表时间:2010-02-24  
如果要更新配置文件或者class,不是要重启服务吗?你怎么处理呢?不是只有jsp啊?
0 请登录后投票
   发表时间:2010-02-24  
希望LZ能共享下
0 请登录后投票
   发表时间:2010-02-24  
daiing 写道
如果要更新配置文件或者class,不是要重启服务吗?你怎么处理呢?不是只有jsp啊?


可以设置多个服务器,一个更新的时候,用另一个提供服务吧,或者是在晚上的时候,影响会小一些
0 请登录后投票
   发表时间:2010-02-25  
几点说明:
1. 之所以使用时间,是因为一般是检索自己机器上搭建的开发环境,从自己的机器上检索自己在某段时间内修改的文件,然后打包,然后到生产机更新,用md5肯定更精确,但我想用时间足以胜任。
2. 这个工具检索的是webroot下的所有文件,但是你可以在配置文件中指定哪些目录不被检索,比如:WEB-INF/classes
3. 源码位于
http://savagegarden.iteye.com/blog/600946
其中包括web应用和核心源码,此外核心源码可以脱离web应用作为application使用。
感谢大家关注!
0 请登录后投票
   发表时间:2010-02-25  
不用重起服务器的可以看看这个文章
http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/index.html
0 请登录后投票
   发表时间:2010-02-26   最后修改:2010-02-26
缺少程序版本控制功能,加入版本控制和版本依赖,就更好了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics