今天在群里有人讨论发布swt应用的问题,想起我以前写的一个小笔记,遂翻箱倒柜,发到这里,希望对想要发布swt的人有用
Eclipse3.1刚刚release的时候,它的RCP发布功能就很吸引我,当时正好有个小东西要做,就用了这个功能发布了一个小程序,似乎很多人推荐用NSIS,但是我觉得Eclipse的这个功能似乎更方便,几乎不用担心任何部署的问题。
------------------------------
首先,创建一个Plug-in Project。(在给david turing的第一个版本中忘记加这句话了,sorry。^_^...)
使用创建Plugin的向导中选择创建RCP程序,然后选择一个RCP模板,单击finish,可以简单的创建一个RCP应用程序。
1、创建feature:
feature在Eclipse中是可选的,但是推荐还是实现它,如果想使用Eclipse的自动升级管理器、或者想使用JNLP来发布程序的话,还是实现它为好。
选择File > New > Project > Plug-in Development > Feature Project,并以已创建的PDE项目的名字加上“ -feature”作为项目名
然后选择默认值,next之后,选择你的PDE项目名。finish
2、将它发布成一个product
在Eclipse中,一个product包含了用户创建的应用、依赖的库、本地的启动命令、以及所有自定义的图标。这样可以轻松的创建跨平台,可在线更新的项目,这是Eclipse3.1的主要改进之一。
RCP模板中有些已经是一个产品,比如 "RCP Application with an Intro"和"RCP Mail".
要想创建一个product,你首先要在PDE project中添加product配置,选择New > Product Configuration,然后键入配置文件名。选择“Use a launch configuration”选项,并从list中选择Eclipse Application。
如果你的工作区中有很多PDE项目,则这里要选择有RCP属性的项目才行。
3、配置product配置文件
创建了product配置文件之后,则打开一个product配置文件编辑窗口。在下面选择overview页,然后键入product的名字,比如“RCP Tutorial1”,选择“This project configuration is based on ”选项为“features”
然后点击Product ID旁边的“New...”来创建一个新的product。键入或者在浏览器中选择已创建的plugin(RCP),输入Product ID 比如“product”,然后在Product Application中选择
然后选择Configuration配置页,在里面添加你的feature和RCP的feature (org.eclipse.rcp),然后退回到overview页面,保存。RCP.application,单击确定。
4、测试product
这时候,点击overview页面的 Synchronize,然后点击Launch the product。这时候应用应该跟刚才一样运行起来(除了右上角的Eclipse图标不见了)
5、在Eclipse以外运行
在Product Configuration editor中,点击Eclipse product export wizard,将“root directory”选项改为你的项目自己的文件夹名,比如“RCP”,然后选择Export Destination到一个directory,然后输入文件夹名,如果想包含源文件,则选择Include source code 选项。
6、为该程序打上自己的商标
使用批处理文件或者shell脚本来调用RCP程序,将无法完全的定制自己的产品商标,而使用eclipse的native launcher,可以在前面的product configuration中改变启launcher的名字和图标。在product配置的Branding页面
最后,用InstallShield一包装,就是个windows应用程序了