今天在群里有人討論發布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應用程序了