发布自己的Spark版本


1. 安装客户端控制插件(Client Control),在这个插件的帮助下,我们可以把新的Spark版本上传到服务器,然后用户就会收到更新通知。

image

2. 增加自定义设置。
在Spark中指定聊天服务器地址:打开org.jivesoftware.resource包中的default.properties文件,设置HOST_NAME属性即可。
修改User Guide手册地址:org.jivesoftware.MainWindow中的viewHelpGuideAction内部类即可。
另外,还可以添加自定义的菜单等等。

3. 上面的修改完了之后,修改org.jivesoftware.sparkimpl.settings.JiveInfo中的版本号,使新创建的版本高于已经安装的版本。

关于版本号,Spark在判断自身的版本时,如果是beta版,版本号有一定的规则限制:最后一个小数点右边的版本只能是一位,如果是两位,也只会取出一位来。比如2.6.0.01 Beata 2,最后得到的版本号2.6.0.0,为了避免出现这个问题,一种方法就是把Beta字样从getVersion()方法的返回值里移除。这样版本比较的逻辑不会运行到会出问题的代码就返回结果了。另外一个就是修改问题代码——CheckUpdates的getVersion()方法
int lastIndexOf = version.lastIndexOf(“.”);
if (lastIndexOf != -1) {
return version.substring(0, lastIndexOf);
}
有兴趣的可以看看怎么改。

4. ant运行build.xml,编译,生成target目录。
build.xml存放在build目录下。

5. 下载install4j 4.0.8
地址:http://www.ej-technologies.com/download/install4j/version40.html

关于install4j,这是一个跨平台的编译平台,可以在windows, unix, linux, mac操作系统使用,他可以在这些平台上编译运行于windows, linux, unix, mac的安装包。在编译spark的时候,碰到了一点小问题,从网站上下载最新的install4j 4.2.4编译好了之后,在安装的最后一步会报java.lang.abstractMethodError错误。换成4.0.8版本的就好了。

6. 使用install4j打开Spark项目用spark.install4j文件。
该文件存放在buildinstaller

7. 在install4j中下载JRE,并指定安装包使用的JRE版本。
下载JRE,找到Download按钮,一步步执行就可以了。
下载完了之后,在Media选项卡中设置Windows和Unix Archive用到JRE。如下图
image
8. 修改install4j项目设置中的版本号
org.jivesoftware.sparkimpl.settings.JiveInfo的getVersion()方法返回的版本需要和install4j的版本号一致。
客户端在判断是否有新版本的时候,本地的版本号从JiveInfo的getVersion()方法取得。
服务器上的版本通过文件名区分,而文件名是在install4j中通过设置版本号来完成的,如下图:
下图的设置生成的文件名是spark_2_6_0_01

image

9. 上传,设置更新信息,更新信息在用户下载的时候,会出现在下载的会话框中。

image

10. 客户端收到更新提示

image

11. 点击yes后,客户端开始下载新版本,之前设置的更新信息也出现在会话框中

image

12. 下载完了之后提示用户是否安装

image

13. 安装完成之后,用户就用上了我们自己打包的Spark.

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s