2012-07-06 51 views
0

我所擁有的是一個RCP應用程序,並在它的插件目錄:如何將Eclipse RCP插件JAR轉換爲插件目錄,反之亦然?

my-rcp-app/ 
    ... 
    plugins/ 
    ... 
    com.mycompany.myproduct.ui_1.0.1/ 
     com/ 
     META-INF/ 
     plugin.xml 

然後我就與相同內容的插件目錄,com.mycompany.myproduct.ui_1.0.1.jar一個JAR,並把它變成plugins/代替com.mycompany.myproduct.ui_1.0.1文件夾。

令人驚訝的是,該應用程序無法啓動。這是從日誌:

!SUBENTRY 2 com.mycompany.root.bundle 2 0 2012-07-05 20:01:17.511 
!MESSAGE Missing required bundle com.mycompany.myproduct.ui_1.0.1. 

所以,2個問題在這裏:

  1. 如何在JAR部署插件,如果我有帶班,CONFIGS等
  2. 是一個目錄它足以將JAR解壓到插件中,讓應用程序繼續工作?

回答

1

正如@TobiasWillig已經指出的那樣,插件目錄和JAR確實是完全可以互換的。

但是,在這種特殊情況下,我不得不編輯configuration/org.eclipse.equinox.simpleconfigurator/bundles.info文件,與

com.mycompany.myproduct.ui,1.0.1,plugins/com.mycompany.myproduct.ui_1.0.1.jar,4,false 

即更換

com.mycompany.myproduct.ui,1.0.1,plugins/com.mycompany.myproduct.ui_1.0.1/,4,false 

,它需要手動指定插件的路徑。

+0

你應該正確導出你的插件,並使用p2導演或'幫助>安裝新軟件'來安裝它。在接下來的p2調用中,它會覆蓋你的'bundles.info'或者完全覆蓋。 – 2012-07-10 20:18:56

3
  1. 從清單編輯器的主要頁面,您可以打開導出嚮導。它會創建一個包含插件的jar文件。如果您想指定應該導出哪些文件,那麼轉到清單編輯器中的構建選項卡。

  2. 如果您的插件已解壓縮或放入Jar文件中,應該無關緊要。 Equinox能夠處理這兩種情況。請注意,如果您不想通過Eclipse更新站點機制管理插件,建議使用dropins文件夾而不是plugins文件夾。

+2

關鍵是#2以上;你**不能**只需將一個插件放到'plugins'文件夾中就可以部署它。 – 2012-07-06 17:00:34

相關問題