2012-07-30 33 views
1

這應該非常簡單。 HelpGUI是一個非常簡單的庫:HelpGUI我無法在我的OSGI軟件包中加載HelpGUI

在沒有使用OSGI框架的測試應用程序中,我可以加載包含在這個小型庫中的演示程序,而不會遇到任何問題。當我嘗試在我的OSGI包中執行此操作時,無法打開InputStream。這一定是因爲我沒有正確地將資源包含到我的包中,但我不確定。我能夠構建一個URL對象並獲取正確的文件路徑。我有/文檔/幫助/在同一水平在我的包src文件夾中的文件夾,應該不是我能夠只要致電:

MainFrame mainFrame = new MainFrame("/docs/help/", "plastic"); 

,並已運作? OSGI爲何如此困難?有人可以嘗試下載庫並獲得演示來彈出OSGI包中的幫助窗口嗎?

回答

3

我已經嘗試過了,並沒有遇到任何併發症,我做了既與OSGi的版本和非OSGi的版本混帳回購協議,都運行良好:

https://github.com/flyaruu/demo-helpgui

他們都有一個eclipse啓動文件,你可以從運行菜單運行它們。

我需要做的是不必添加此開關唯一棘手的事情:--launcher.secondThread但是這是在MacOS一個Eclipse SWT/Swing的問題只是,我不知道你用什麼平臺。另外,也許有點棘手,Eclipse並不強制你添加依賴到javax。*包,你真的應該這樣做,否則獨立的OSGi框架不會加載這個包,儘管Eclipse本身也是如此。

您可以使用PDE導出(導出 - >捆綁包和碎片)導出捆綁包,我還將它包含在(git回購庫中的helpgui-osgi_1.0.0.201207310536.jar)。例如,您可以將包含的軟件包放入Felix的「軟件包」文件夾中。

不能使它更容易;-)