我无法在我的OSGI软件包中加载HelpGUI

问题描述:

这应该非常简单。 HelpGUI是一个非常简单的库:HelpGUI我无法在我的OSGI软件包中加载HelpGUI

在没有使用OSGI框架的测试应用程序中,我可以加载包含在这个小型库中的演示程序,而不会遇到任何问题。当我尝试在我的OSGI包中执行此操作时,无法打开InputStream。这一定是因为我没有正确地将资源包含到我的包中,但我不确定。我能够构建一个URL对象并获取正确的文件路径。我有/文档/帮助/在同一水平在我的包src文件夹中的文件夹,应该不是我能够只要致电:

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

,并已运作? OSGI为何如此困难?有人可以尝试下载库并获得演示来弹出OSGI包中的帮助窗口吗?

我已经尝试过了,并没有遇到任何并发症,我做了既与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的“软件包”文件夹中。

不能使它更容易;-)