gpt4 book ai didi

java - 我无法在我的 OSGI 包中加载 HelpGUI

转载 作者:行者123 更新时间:2023-11-29 05:56:56 25 4
gpt4 key购买 nike

这应该很简单。 HelpGUI 是一个非常简单的库:HelpGUI

在不使用任何 OSGI 框架的测试应用程序中,我可以毫不费力地加载包含在这个小型库中的演示。当我尝试在我的 OSGI 包中执行此操作时,我无法打开 InputStream。一定是因为我没有正确地将资源包含到我的包中,但我不确定如何。我能够构建一个 URL 对象并获得正确的文件路径。我的/docs/help/文件夹与我的包中的 src 文件夹处于同一级别,我不应该只调用:

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

它有效果吗?为什么 OSGI 让这变得如此困难?有人可以尝试下载该库并获取演示以在 OSGI 包中弹出帮助窗口吗?

最佳答案

我试过了,没有遇到任何问题,我已经用 OSGi 版本和非 OSGi 版本制作了一个 git 仓库,并且都运行良好:

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

它们都有一个 eclipse 启动文件,您可以从运行菜单运行它们。

我需要做的唯一棘手的事情是必须添加这个开关:--launcher.secondThread 但这只是 MacOS 上的 Eclipse SWT/Swing 问题,我不知道你使用什么平台。

此外,也许有点棘手,Eclipse 不会强制您向 javax.* 包添加依赖项,而您确实应该这样做,否则独立的 OSGi 框架将不会加载包,即使 Eclipse 本身会加载。

您可以使用 PDE 导出 (Export -> Bundles and Fragments) 导出包,我还在 git 存储库中包含了它 (helpgui-osgi_1.0.0.201207310536.jar)。例如,您可以将包含的 bundle 放入 Felix 的“bundle ”文件夹中。

再简单不过了;-)

关于java - 我无法在我的 OSGI 包中加载 HelpGUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11730826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com