论坛首页 Java企业应用论坛

java 应用程序 自动检测更新,并自动关闭重启程序。

浏览 21387 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (5)
作者 正文
   发表时间:2011-03-29  
opal 写道
原理很简单

先来个约定:
startA.bat 用来启动A应用,内容大约如下:
start java -jar A.jar ......

updateA.bat 用来更新,内容大约如下:
start java -jar B.jar ......


处理流程:
在A.jar 中,定时或启动时检查是否有新版本,如果有则 运行updateA.bat,然后自身退出

在B.jar中,下载最新的版本,然后运行startA.bat,再自身退出

运行*.bat,可用Runtime.getRuntime().exec(...)
自身退出,可用System.exit(0)

linux环境,*.bat 改成 *.sh即可

谢谢了,上面的方法确实可行,我已经测试通过了。
0 请登录后投票
   发表时间:2011-07-12   最后修改:2011-07-12
chacha 写道
opal 写道
原理很简单

先来个约定:
startA.bat 用来启动A应用,内容大约如下:
start java -jar A.jar ......

updateA.bat 用来更新,内容大约如下:
start java -jar B.jar ......


处理流程:
在A.jar 中,定时或启动时检查是否有新版本,如果有则 运行updateA.bat,然后自身退出

在B.jar中,下载最新的版本,然后运行startA.bat,再自身退出

运行*.bat,可用Runtime.getRuntime().exec(...)
自身退出,可用System.exit(0)

linux环境,*.bat 改成 *.sh即可

谢谢了,上面的方法确实可行,我已经测试通过了。

试过了,发现不可行; 一旦调用 System.exit(0) 方法, 整个jvm环境就被关闭了,不会再去执行脚本里面的内容...
0 请登录后投票
   发表时间:2011-07-12   最后修改:2011-07-12
chacha 写道
opal 写道
原理很简单

先来个约定:
startA.bat 用来启动A应用,内容大约如下:
start java -jar A.jar ......

updateA.bat 用来更新,内容大约如下:
start java -jar B.jar ......


处理流程:
在A.jar 中,定时或启动时检查是否有新版本,如果有则 运行updateA.bat,然后自身退出

在B.jar中,下载最新的版本,然后运行startA.bat,再自身退出

运行*.bat,可用Runtime.getRuntime().exec(...)
自身退出,可用System.exit(0)

linux环境,*.bat 改成 *.sh即可

谢谢了,上面的方法确实可行,我已经测试通过了。

试过了,发现不可行; 一旦调用 System.exit(0) 方法, 整个jvm环境就被关闭了,不会再去执行脚本里面的内容...
0 请登录后投票
   发表时间:2011-07-19  
darkma 写道
chacha 写道
opal 写道
原理很简单

先来个约定:
startA.bat 用来启动A应用,内容大约如下:
start java -jar A.jar ......

updateA.bat 用来更新,内容大约如下:
start java -jar B.jar ......


处理流程:
在A.jar 中,定时或启动时检查是否有新版本,如果有则 运行updateA.bat,然后自身退出

在B.jar中,下载最新的版本,然后运行startA.bat,再自身退出

运行*.bat,可用Runtime.getRuntime().exec(...)
自身退出,可用System.exit(0)

linux环境,*.bat 改成 *.sh即可

谢谢了,上面的方法确实可行,我已经测试通过了。

试过了,发现不可行; 一旦调用 System.exit(0) 方法, 整个jvm环境就被关闭了,不会再去执行脚本里面的内容...

可以的,Runtime.getRuntime().exec(...)  重新启动另一个程序了啊 比如bat或者exe文件,我现在就一直用着来
0 请登录后投票
论坛首页 Java企业应用版

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