我无法在我的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的“软件包”文件夹中。
不能使它更容易;-)