京山游俠

          專注技術,拒絕扯淡
          posts - 50, comments - 868, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
            所謂RCP,就是Rich Client Platform的縮寫,即富客戶平臺,是Eclipse進化的產物(自3.0版以后出現),是Eclipse組織向用戶提供的強大的開放性開發平臺,能夠使用戶方便地創建自己的基于Eclipse的應用程序,并且這些應用程序能夠得到Eclipse的底層支持。更重要的是,我們可以利用Java創建象Eclipse這么漂亮的桌面程序。

            我相信,在未來的幾年里,RCP一定會變得非常流行。使用RCP,我們可以開發界面象Eclipse這樣漂亮的桌面程序,比如醫院管理系統啊、CAD軟件等等。遺憾的是,目前在國內基本上找不到關于RCP的中文資料,我們只能通過自己的探索來為我們的程序添加我們想要的功能。

            下面讓我們一步一步來建立一個Eclipse RCP程序,下面的內容可以說在Google上一搜一大把,有些人會覺得乏味,但是沒關系,這只是一個快速的起步。

            選擇“新建--項目”,選擇“插件項目”:
          rcp00.JPG

          rcp01.JPG

          點下一步,輸入項目名稱,選擇Eclipse版本,我這里選擇的是3.2:
          rcp02.JPG

            點下一步,插件標識和插件名稱可以更改,其他的內容都可以保持默認,一定要記得選中富客戶機應用程序支持:
          rcp03.JPG

            點下一步,選中一個模板,這里選一個最簡單的,到時候看源代碼的時候便于理解:
          rcp04.JPG

            點下一步,改一下應用程序標題:
          rcp05.JPG

            點完成,我們可以在項目上面點右鍵,選擇按Eclipse程序運行,就可以看到效果了:
          rcp16.JPG

          rcp17.JPG

            在這個程序中,窗口上顯示的是一個透視圖,透視圖中含有一個編輯器區域,以后,我們可以逐步為這個程序添加菜單、工具條和為這個透視圖添加視圖、編輯器等等。

            現在,這個程序只能在Eclipse環境下運行,而RCP的目標是創建可以獨立運行的應用程序,我們的事情還沒完呢。下一步,在項目上點右鍵,創建產品配置文件:
          rcp06.JPG

            輸入產品配置文件名:

          rcp07.JPG

            生成的產品配置文件在編輯器中打開,應該是這個樣子的:
          rcp09.JPG

            剛開始,上面的幾個文本框都是空的,點新建按鈕之后,彈出如下的對話框,輸入產品名稱后,點完成就行了。

          rcp08.JPG

            點擊配置文件中的“啟動程序”,我們可以試著啟動我們的RCP程序。結果呢,會出錯。原因很簡單,因為我們沒有為我們的程序選中它依賴的插件。

          ?  選中配置文件的“配置”選項卡,添加以下幾個依賴項,記住,一定要把我們自己,也就是com.blogjava.youxia.rcp_start加進依賴項,否則會出錯。最開始的時候,就是這么一點小問題,讓我浪費了幾天時間。
          rcp10.JPG

            再點擊添加必須的插件,自動添加其它的依賴項。

            再下一步,設置項目的構建路徑,如下圖:
          rcp11.JPG

            下一步,導出我們的程序:
          rcp12.JPG

          rcp13.JPG

            點下一步,輸入我們程序導出的目錄,如下圖:
          rcp14.JPG

            點完成按鈕之后,我們的程序就導出到我們的指定的目錄中了,打開這個目錄,可以看到一個類似eclipse的程序圖標,雙擊運行,效果如下圖:rcp15.JPG

            最后,需要說明兩點:第一,如果希望生成的程序有自己的圖標,可以在產品配置文件中的最后兩個配置文件中設置;第二,生成的程序應該是沒有菜單欄的,因為我的Eclipse安裝了MyEclipse,所以導出的程序就多了兩個菜單。

            好了,快速起步就到這里了,以后再仔細研究生成的代碼和為我們的程序添加功能。

          評論

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2006-11-18 16:20 by loocky[匿名]
          eclipse2.幾的版本就有這個功能,SWTgwt是核心

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2006-11-24 22:59 by 海邊沫沫
          3.0以后,Eclipse的插件程序可以脫離Eclipse環境單獨運行,而且該單獨運行的程序也可以被插件擴展,這才是RCP。

          2.x版的不是。

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2006-11-25 13:59 by 喜歡
          好文章,謝謝!

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2006-12-01 17:17 by self
          好文章,謝謝

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2006-12-05 09:54 by itVincent
          請問這個跟SWT有什么不同?也是桌面程序嗎?

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2006-12-05 15:13 by 京山游俠
          這也是桌面程序,它的基礎就是SWT,就好像Eclipse的基礎是SWT一樣。
          RCP的好處就是讓你能夠充分利用Eclipse的界面和插件機制,讓你站在巨人的肩膀上看得更遠

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2006-12-09 21:36 by tory
          看完后收獲不小

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2006-12-20 11:53 by xhhm
          我新建一個Hello RCP的工程以后,運行時就會報錯
          org.osgi.framework.BundleException: The activator tttt.Activator for bundle tttt is invalid
          我用的Eclipse3.2,打了MyEclipse插件,JDK用的1.4的,幫幫忙吧`~謝謝了``~~~~

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2006-12-21 21:17 by 海邊沫沫
          呵呵,你這個問題我沒有遇到過。

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2007-01-05 17:33 by billbai
          @xhhm
          你可以在工程屬性中的 Java Compiler中選擇JDK的版本

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2007-01-12 08:44 by 摟住sb
          怎么找不到com.genuitec.eclipse.core 這個包
          eclipse3.2.1

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2007-01-12 13:47 by 海邊沫沫
          是不是你沒有指定插件依賴項?

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2007-03-03 01:35 by 靈魂機器
          為什么我的"Run As" 是空的?救命啊

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2007-06-09 23:25 by Lf0x
          不錯得文章

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2007-07-30 16:29 by 小白之家
          不錯,不錯

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2007-08-27 17:15 by XXN
          MyEclipse和JDK1.4版本的?好像是不可以的吧......
          JDK換成1.5的吧!


          com.genuitec.eclipse.core 這個包應該是海邊妹妹自己打的一個包吧,在eclipse下面的****.eclipse.core 包是存在的.自己好好找找!

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2007-09-26 14:28 by me
          好文章,受益匪淺。

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2007-12-19 22:06 by kile
          您好!
          請教一個問題呀
          我建的plugin project原來導出product是可以運行的,這兩天不知道,修改了什么東西,新導出的product不能正確執行了,即使從原來的plugin導出的新的product也執行不了了。提示如下:
          ---------------------------
          Eclipse
          ---------------------------
          JVM terminated. Exit code=-1
          -Djava.class.path=D:\Eclipse\Testbin\RCP_Start4\eclipse\plugins\org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar
          -os win32
          -ws win32
          -arch x86
          -showsplash
          -launcher D:\Eclipse\Testbin\RCP_Start4\eclipse\eclipse.exe
          -name Eclipse
          --launcher.library D:\Eclipse\Testbin\RCP_Start4\eclipse\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.2.R331_v20071019\eclipse_1021.dll
          -startup D:\Eclipse\Testbin\RCP_Start4\eclipse\plugins\org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar
          -vm C:\Program Files\Java\jre1.5.0_09\bin\client\jvm.dll
          -vmargs
          -Djava.class.path=D:\Eclipse\Testbin\RCP_Start4\eclipse\plugins\org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar
          ---------------------------
          確定
          ---------------------------
          請問是怎么回事?該怎么解決呢?謝謝!

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2007-12-24 19:59 by 小河
          謝謝,第一個程序按照你的指導完全正確了。

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2008-03-11 22:35 by
          好文
          產品發布后title處出現了亂碼 不知何故?發布前的運行都是好的

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2008-03-14 17:59 by NOMIS
          會出現JVM terminated. Exit code=13 的錯?是不是我用Eclipse 3.3.2的関係?似乎缺了com.genuitec.eclipse.core這個包?

          不過如果我在新建產吅配置,初始化文件內容,'選使用啟動配置'就可以不用自己去設配置,而且不會出錯!

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2008-04-03 14:15 by 隔葉黃鶯
          RCP入門的好文章,為什么我用的 Eclipse 3.3 Class 版,新建項目里找不到插件項目啊

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2008-05-06 13:55 by 開水
          @隔葉黃鶯
          你要安裝rcp插件的吧,
          下載一個試試。

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2008-06-25 17:11 by 練習一下
          其他都好,就是不能單獨生成一個可執行的程序!麻煩指導一下,謝謝?。。?/div>

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2008-06-30 14:41 by Lament Gates
          太靈了~~~~~

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2008-07-12 22:44 by dd
          寫的非常好,我搜到的做好的中文RCP文章

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2008-08-14 14:46 by zz
          呵呵,很不錯啦,謝謝了

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2008-11-06 18:13 by bruce
          我導出后不能運行啊,一直都在報錯,我就是按照上面的過程做的,哪位大俠明白,請指點迷津!
          下面是錯誤代碼:
          !SESSION 2008-11-06 18:06:42.375 -----------------------------------------------
          eclipse.buildId=unknown
          java.version=1.5.0_06
          java.vendor=Sun Microsystems Inc.
          BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
          Command-line arguments: -os win32 -ws win32 -arch x86

          !ENTRY org.eclipse.equinox.app 0 0 2008-11-06 18:06:43.390
          !MESSAGE Product cn.blocjava.youxia.rcp_start.product could not be found.

          !ENTRY org.eclipse.osgi 4 0 2008-11-06 18:06:43.406
          !MESSAGE Application error
          !STACK 1
          java.lang.RuntimeException: No application id has been found.
          at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:236)
          at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
          at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
          at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
          at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
          at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:585)
          at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
          at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
          at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

          !ENTRY org.eclipse.osgi 2 0 2008-11-06 18:06:43.421
          !MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
          !SUBENTRY 1 org.eclipse.osgi 2 0 2008-11-06 18:06:43.421
          !MESSAGE Bundle initial@reference:file:plugins/cn.blocjava.youxia.rcp_start_1.0.0.jar/ [1] was not resolved.
          !SUBENTRY 2 cn.blocjava.youxia.rcp_start 2 0 2008-11-06 18:06:43.421
          !MESSAGE Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.6

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2009-01-12 10:53 by hello rcp
          似乎缺了com.genuitec.eclipse.core這個包?
          我也找不到這個包,不過我我點了add Required Plug-ins包能包括的包都加進去了
          成功運行

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2009-03-09 19:57 by 米高陽
          有個問題想請教一下,我在Eclipse中運行沒有問題,但是導出文件時就會沒有那個Jar文件,而且會報錯錯誤是
          Errors occured during the operation:
          A zip containing the build logs has been generated and placed at "D:/Program/Eclipse 3.3/Eclipase"
          這個地址是我的導出地址,但是在上一層灰多一個zip文件,而該有jar的地方卻沒有,怎么回事。
          還想請教一下有沒有關于RCP的比較好的教材給推薦一下,謝謝!
          盼望您的回復

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2009-03-14 14:01 by 林怡
          謝謝,我從這篇文章中學到了好多。

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2009-03-17 10:41 by 飛來飛去
          剛用swt做了個程序,看完這個覺得rcp很強大啊,按照樓主的步驟做了,除了找不到com.genuitec.eclipse.core,其他的都沒問題,不過每家com.genuitec.eclipse.core程序也能正常運行~~猜想com.genuitec.eclipse.core可能是myeclipse下的吧,而我用的是純eclipse

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2009-04-02 17:18 by 創意產品網
          發現博主好的好文章,今天沒時間了,先mark下,以后慢慢來看

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2009-04-02 17:19 by 創意產品網
          mark下

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2009-04-07 20:39 by 陳卓
          好文章,看過后就明白了。謝謝。
          另外,
          com.genuitec.eclipse.core是MyEclipse的包,不要也可以。

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2009-04-15 12:34 by 強子
          照樓主的做,每步都一樣,沒有報錯,但就是最后導出的內容中沒有startup.jar文件

          網上也沒說這個問題的
          希望得到樓主或者朋友的答復
          謝謝

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2009-04-27 11:19 by ccat
          跟bruce報一樣的錯。
          求解!

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2009-04-27 11:23 by ccat
          @強子
          我生成的也沒有,看網上說,可以把eclipse里的startup拷過去,然后要改xml,具體怎么做忘了。不過沒有這個也可以啟動。

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2009-07-28 11:12 by darwin
          我在導出獨立運行時報這個錯,哪位大俠幫幫忙,非常感謝!
          java.lang.RuntimeException: Could not find framework
          at org.eclipse.core.launcher.Main.getBootPath(Main.java:639)
          at org.eclipse.core.launcher.Main.basicRun(Main.java:274)
          at org.eclipse.core.launcher.Main.run(Main.java:977)
          at org.eclipse.core.launcher.Main.main(Main.java:952)

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2009-08-24 13:01 by navy
          剛剛起步,不錯的文章,我會繼續關注的,還請多多關照

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2010-07-07 16:34 by 淘寶網
          不錯,不錯

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2010-08-20 10:34 by 北極孤狐
          文章很好,感覺這東西好難。

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2010-12-16 09:50 by Eric
          使用這個開發的應用程序,能做到斷點續傳(上傳)文件到服務器嗎?

          急切等待,謝謝

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2011-03-03 16:22 by ENKAKA
          首先很感謝這么詳細的指導,但是很奇怪的是我導出的文件夾里沒有icon
          我是沒有添加com.genuitec.eclipse.core,但這個應該沒關系的樣子。
          「構建」頁中我有選icons啊,其它也都跟圖示一樣,太奇怪了。
          導出的文件夾中只有「configuration」文件夾,「plugins」文件夾,「.eclipseproduct」文件和「startup.jar」文件,別的就沒了。
          我是初學者,希望前輩們指點一下。
          謝謝

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2011-04-26 18:03 by
          非常感謝,受益匪淺啊~~~

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2011-04-26 18:19 by
          導出時報錯了
          Cannot complete the install because one or more req
          Software being installed: rcp_graphics.product 0.0.0 (RCP_Graphics.product 0.0.0)
          Missing requirement: Eclipse UI 3.5.2.M20100120-0800 (org.eclipse.ui 3.5.2.M20100120-0800) requires 'bundle org.eclipse.core.expressions [3.4.0,4.0.0)' but it could not be found
          Cannot satisfy dependency:
          From: rcp_graphics.product 0.0.0 (RCP_Graphics.product 0.0.0)
          To: org.eclipse.ui [3.5.2.M20100120-0800]

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2011-04-26 18:19 by
          幫忙看看

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2011-06-21 16:31 by
          多寫點這樣的,不錯

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2011-09-23 17:55 by 淘寶網女裝冬裝
          博客幾年沒更新了

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步[未登錄]  回復  更多評論   

          2011-10-11 16:00 by
          一開始導出提示:equinox.launcher_1.0.1.R33x_v20070828.jar
          后來在Add Required Plug-ins添加這個eclipse.core.runtime .
          成功導出 , 成功運行, 希望對大家有幫助。
          不過希望樓主能繼續發揚這種精神 , 可以做幾個小例子 ,漂亮界面的介紹文檔。 。 謝謝 , 我的QQ308110228 ,有空大家討論下。!

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2011-10-19 11:32 by King_wangyao
          博主好的好文章,
          我是初學者,希望前輩們指點一下。
          謝謝……

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2011-12-28 09:34 by sss
          好文章!

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2013-07-15 12:57 by 嗚嗚嗚
          我的是10版本的怎么導出

          # re: 使用Eclipse RCP進行桌面程序開發(一):快速起步  回復  更多評論   

          2015-02-03 17:25 by tyl
          非常感謝分享,同你的幾篇文章對rcp開發了解很多,謝謝。
          主站蜘蛛池模板: 徐水县| 南木林县| 桦南县| 旌德县| 焉耆| 调兵山市| 马尔康县| 榕江县| 钟山县| 营山县| 泸州市| 来凤县| 丽水市| 且末县| 子洲县| 修水县| 凤山市| 三门峡市| 崇礼县| 衡山县| 石泉县| 宁乡县| 张掖市| 读书| 筠连县| 枣强县| 乌拉特前旗| 同江市| 兖州市| 简阳市| 夹江县| 宁陕县| 盐津县| 田东县| 东兰县| 芜湖市| 斗六市| 榕江县| 景德镇市| 上蔡县| 东阳市|