我想構建一個Eclipse插件,它依賴於必須單獨分發給它的庫。原因是:如何將庫封裝爲另一個插件使用的eclipse插件
- 這是一個商業圖書館,而插件將免費分發。此外,大多數人不需要它,我們不想混淆用戶。
- 目前該庫至少有兩個版本在使用,我們不想構建兩個不同版本的插件。該界面是兼容的,所以我們只能發佈一個版本的插件。
該插件用於基於Eclipse的開發環境,目的是在該環境中提供我們的庫功能。庫本身依賴於其他免費組件,我可以將它捆綁在一起而不會出現問題。
由於我不知道是否允許我確切地說出它是哪個庫,但我必須保持這個明確,我們稱之爲庫「L」和我試圖開發「P」的插件。
我正在使用bnd工具,至此我已經嘗試將L封裝爲獨立插件,並作爲插件片段。
作爲一個獨立的插件,它被主機eclipse環境所接受,我可以列舉它作爲P的依賴關係併成功構建它。但是,在運行時,P插件沒有在其類路徑中看到來自L庫的資源。主要是META-INF /服務中的需求。
接下來,我嘗試將L封裝爲P的插件片段。我希望這可以工作,因爲規格說,片段的類路徑與其主機插件合併。這是行不通的,因爲我無法使用L的類作爲P的構建依賴關係 - 將L放入eclipse的插件目錄中並不會導致它被識別爲已安裝的插件。
所以我卡住了。我需要L's jar作爲P運行時的一部分並構建classpath,同時將它們放在一個單獨的插件中。我試圖做甚至可能嗎?