今天在群里有人討論發(fā)布swt應(yīng)用的問(wèn)題,想起我以前寫(xiě)的一個(gè)小筆記,遂翻箱倒柜,發(fā)到這里,希望對(duì)想要發(fā)布swt的人有用
Eclipse3.1剛剛release的時(shí)候,它的RCP發(fā)布功能就很吸引我,當(dāng)時(shí)正好有個(gè)小東西要做,就用了這個(gè)功能發(fā)布了一個(gè)小程序,似乎很多人推薦用NSIS,但是我覺(jué)得Eclipse的這個(gè)功能似乎更方便,幾乎不用擔(dān)心任何部署的問(wèn)題。
------------------------------
首先,創(chuàng)建一個(gè)Plug-in Project。(在給david turing的第一個(gè)版本中忘記加這句話了,sorry。^_^...)
使用創(chuàng)建Plugin的向?qū)е羞x擇創(chuàng)建RCP程序,然后選擇一個(gè)RCP模板,單擊finish,可以簡(jiǎn)單的創(chuàng)建一個(gè)RCP應(yīng)用程序。
1、創(chuàng)建feature:
feature在Eclipse中是可選的,但是推薦還是實(shí)現(xiàn)它,如果想使用Eclipse的自動(dòng)升級(jí)管理器、或者想使用JNLP來(lái)發(fā)布程序的話,還是實(shí)現(xiàn)它為好。
選擇File > New > Project > Plug-in Development > Feature Project,并以已創(chuàng)建的PDE項(xiàng)目的名字加上“ -feature”作為項(xiàng)目名
然后選擇默認(rèn)值,next之后,選擇你的PDE項(xiàng)目名。finish
2、將它發(fā)布成一個(gè)product
在Eclipse中,一個(gè)product包含了用戶創(chuàng)建的應(yīng)用、依賴的庫(kù)、本地的啟動(dòng)命令、以及所有自定義的圖標(biāo)。這樣可以輕松的創(chuàng)建跨平臺(tái),可在線更新的項(xiàng)目,這是Eclipse3.1的主要改進(jìn)之一。
RCP模板中有些已經(jīng)是一個(gè)產(chǎn)品,比如 "RCP Application with an Intro"和"RCP Mail".
要想創(chuàng)建一個(gè)product,你首先要在PDE project中添加product配置,選擇New > Product Configuration,然后鍵入配置文件名。選擇“Use a launch configuration”選項(xiàng),并從list中選擇Eclipse Application。
如果你的工作區(qū)中有很多PDE項(xiàng)目,則這里要選擇有RCP屬性的項(xiàng)目才行。
3、配置product配置文件
創(chuàng)建了product配置文件之后,則打開(kāi)一個(gè)product配置文件編輯窗口。在下面選擇overview頁(yè),然后鍵入product的名字,比如“RCP Tutorial1”,選擇“This project configuration is based on ”選項(xiàng)為“features”
然后點(diǎn)擊Product ID旁邊的“New...”來(lái)創(chuàng)建一個(gè)新的product。鍵入或者在瀏覽器中選擇已創(chuàng)建的plugin(RCP),輸入Product ID 比如“product”,然后在Product Application中選擇
然后選擇Configuration配置頁(yè),在里面添加你的feature和RCP的feature (org.eclipse.rcp),然后退回到overview頁(yè)面,保存。RCP.application,單擊確定。
4、測(cè)試product
這時(shí)候,點(diǎn)擊overview頁(yè)面的 Synchronize,然后點(diǎn)擊Launch the product。這時(shí)候應(yīng)用應(yīng)該跟剛才一樣運(yùn)行起來(lái)(除了右上角的Eclipse圖標(biāo)不見(jiàn)了)
5、在Eclipse以外運(yùn)行
在Product Configuration editor中,點(diǎn)擊Eclipse product export wizard,將“root directory”選項(xiàng)改為你的項(xiàng)目自己的文件夾名,比如“RCP”,然后選擇Export Destination到一個(gè)directory,然后輸入文件夾名,如果想包含源文件,則選擇Include source code 選項(xiàng)。
6、為該程序打上自己的商標(biāo)
使用批處理文件或者shell腳本來(lái)調(diào)用RCP程序,將無(wú)法完全的定制自己的產(chǎn)品商標(biāo),而使用eclipse的native launcher,可以在前面的product configuration中改變啟launcher的名字和圖標(biāo)。在product配置的Branding頁(yè)面
最后,用InstallShield一包裝,就是個(gè)windows應(yīng)用程序了