本人最近要用java用一个客户端软件,要求这个软件以后可以在线升级,我想问一下都有什么办法可以升级啊?目前我的思路有两个:一个是把软件中的每个组件打包成jar文件,这样当组件的功能改变的时候只要在客户端替换掉相应的jar文件就可以了,但是这样有个缺点就是一点点的小改动都得重新下载整个jar文件;第二个思路是只更新有改动组件的class文件,这样每次更新只要覆盖客户端相应的class文件就可以了,但是这个方法有个问题就是一个java文件有可能编译出来好几个class文件,每次更新的时候怎么设置应该覆盖客户端哪些class文件?不知道有没有其他的方法,谢谢大家:)
但是C/S端在线升级不是很简单的,要做到用户友好性是不容易的,其实Eclipse的在线升级功能比较好,但是无法剥离出来单独使用。
常见做法是在程序的启动外壳程序(如exe)和主程序中加入通信机制,进行启动检测或实时检测,这个看需求而定。