簡體   English   中英

在Helios下開發的Eclipse插件沒有在Juno中顯示

[英]Eclipse plugin developed under Helios doesn't show in Juno

我為Eclipse開發了一個在Helios中運行良好的插件。 我安裝了Juno,將插件jar放在dropins文件夾中,然后啟動了Eclipse,但插件在Juno中不起作用 (我的額外菜單項沒有顯示)。

當我查看插件時,我在列表中看到了我的插件。 我認為它必須是某種版本問題( 類似這樣 ),但是當我創建插件時,我沒有指定最大版本,只指定了最小版本。 我確實注意到它沒有像其他插件一樣簽名,但我認為不應該阻止它工作。

所以我用Juno打開了插件開發項目,並嘗試通過“Testing”下的“Launch an Eclipse application”運行它。 相同的結果(沒有菜單項)。 我甚至刪除了最小版本(使用“屬性...”按鈕)。 仍然沒有快樂。 當我使用Helios執行上述操作時,它可以正常工作(菜單項顯示)。

在我的“必需的插件”中,我有org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.jdt.core,org.eclipse.core.resources,org.eclipse.ui.console,org .eclipse.jface.text, 沒有任何最小或最大版本 當我點擊“顯示插件依賴關系層次結構”時,相同的條目顯示。 一切似乎都井然有序,但我的應用程序似乎沒有運行。

Plug-in Registry > (right click on my plugin) > Show Advanced

Plug-in Registry > (right click on my plugin) > Diagnose

結果沒有檢測到問題。

Plug-in Registry > (right click on my plugin) > Start

導致綠色三角形,但仍然沒有菜單項。

我甚至建立了一個功能更新站點; 完全在Helios下,我創建了一個本地功能更新站點,從Helios drop-ins目錄中刪除了jar文件,並從站點安裝了該應用程序。 工作得很完美。 但是,當我以同樣的方式從Juno安裝時,它在插件注冊表中顯示,但同樣沒有菜單條目。 它似乎被發現,只是沒有明顯運行(正如預期的地方缺少菜單項所示)。

Extensions > org.ecliipse.ui.menus > menuContribution我看到我的菜單項,其中locationURI=popup:org.eclipse.jdt.ui.PackageExplorer 也許Helios和Juno之間有什么變化嗎?

更新:空工作區安裝中,它工作正常。 我安裝了一個單獨的Juno副本,並將其指向一個空的工作區,然后從本地功能更新站點安裝。 結果是應用程序表現得像往常一樣。 雖然這可能提供一個線索,但它不是一個“解決方案”,因為我有太多的項目需要大量的麻煩,並且不值得去這條路線。

Update2: 1)重新安裝了Juno,打開了一個空工作區,關閉了Juno,然后列出了eclipse\\configuration\\org.eclipse.equinox.simpleconfigurator\\bundles.info內容以及eclipse\\plugins列出的文件系統內容。 兩者之間的唯一區別是以.source結尾的條目,這是預期的。 2)啟動Juno,指向我的Helios工作區的副本。 Help > Install new software... > Add... > Local... > (select local feature update site) > (uncheck Group items by category) ,其余成功完成安裝。 3)關閉Juno並注意到只有我的插件被添加到bundles.info ,並注意到只有我的插件被添加到eclipse\\plugins的文件系統中。 換句話說,每個人都有一個額外的項目,這是我的插件。 4)啟動Juno但我的插件中的菜單項沒有顯示,但所有指示(插件診斷)表明它應該工作。 5)將插件jar復制到dropins文件夾,但沒有任何改進。

關於下一步嘗試的更多指導將不勝感激。

首先,您應該檢查是否找到了插件。 然后你應該檢查插件是否已經解決,即是否滿足所有要求。

如果您有Eclipse的插件開發版本,那么您可以打開插件注冊表視圖。 看看你的插件是否在列表中,如果是,那么至少找到它。 然后右鍵單擊它,啟用高級操作,然后選擇診斷。 有些要求可能尚未實現。 如果您沒有Eclipse的插件版本,則可以使用osgi控制台。 轉到控制台視圖,然后在視圖菜單中選擇OSGI控制台。 運行命令ss列出所有插件,並運行diag 123 ,其中number是你的插件的id來診斷它。

另外, 請參閱之前對類似問題的回答

我一直有一些嚴重的問題讓插件放在dropins目錄中有時工作...你可以嘗試直接將它復制到eclipse/plugins目錄。 或者像它應該處理的那樣做; 為其創建功能和更新站點,並從更新站點安裝插件。

編輯: “在空的工作區安裝中,它工作”

啊對。 bundles.info文件的問題。 這個頁面

文件bundles.info包含當前系統中安裝的所有插件的列表。 在啟動時,此文件中列出的所有插件都將作為要運行的確切插件集提供給OSGi。 插件目錄或其他地方的任何額外插件都將被忽略。

現在在.metadata\\.plugins\\org.eclipse.pde.core\\org.eclipse.equinox.simpleconfigurator中檢查文件中的工作區。 比較兩個工作區中的文件,差異應該是您的文件。 編輯第一個工作區中的文件,以包含從第二個工作區的bundles.info列出插件的行。

可以預先更新bundles.info文件,但手動編輯更簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM