问题标签 [osgi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
931 浏览

java - Eclipse rcp 类加载器地狱:移动的类在编译时仍然可见,但在运行时不再可见

我对 eclipse 3.5 rcp 应用程序有一个奇怪的新问题:一切正常,然后我更改了正在运行的系统并将单个类从一个插件移动到一个依赖插件。没什么大问题,但突然间应用程序抱怨找不到类异常(或 NoClassDefFoundError - 不确切但会查找并编辑帖子......)

我加倍,三倍,...检查了我所知道的所有内容,并确保清单包含具有正确版本号的依赖项,并且包在另一个插件中正确导出。Eclipse jdk 没有抱怨(没有编译器错误/警告)但是当我调试到类被实例化并使用'CTRL + SHIFT + I'来检查'new MyClass()'语句时,检查器工具提示sais ,它无法解决该类。

非常感谢任何帮助、提示和鼓励性评论!

0 投票
2 回答
84 浏览

java - 我如何向 DS 注册 OSGIhost jar(本身)?

我正在尝试创建一个可以启动 felix 的应用程序,并将服务发布到“声明式服务”捆绑包。但是我的“felix-starter”和服务实际上都在同一个罐子里。

我假设 jar 包含 osgi-host(Felix) 和 misc。services 应包含描述向“DS”提供/所需服务的 xml 文件。但我不知道是否有可能(当 jar 已经由例如 webstart 加载,因此为其配置了 ClassLoader)以编程方式将该 XML 提供给 DS 包。

这在某种程度上是可能的,还是最终会变得令人讨厌?

谢谢

0 投票
1 回答
4868 浏览

java - 如何让 OSGi (Config Admin) 持久化/重用你的配置?

我是 OSGi 的新手。我的目的是用config admin创建一个结构,这样你就可以输入一个配置,重新启动服务器后将被重用。

虽然我已经阅读了 api 并尝试了一些示例,但我认为默认情况下会包含此功能。

我的问题是:这可能吗?如果是的话:我需要考虑什么来获得这个功能?

PS。我正在使用春分

克里斯干杯

0 投票
1 回答
274 浏览

java - OSGi 初始配置,谈论 ZIP 字典条目?

'initial provisioning page 231' 上的 osgi R4 规范讨论了

'请求的结果必须是 ZIP 文件(内容类型应用程序/ZIP)'...' zip 文件可能只包含四种类型的字典条目:文本、二进制、捆绑或捆绑 URL。类型在 ZIP 条目的额外字段中指定'

除了具有单个名称的文件之外,我不知道 ZIP 文件。有没有人找到显示这种 zip 文件的示例?

非常感谢!

0 投票
1 回答
136 浏览

osgi - Felix 'pref' bundle 需要 'log version >=1.3',但 D/L 'log' bundle version = 1.0

Felix 下载页面显示 Log bundle 版本 1.0.0 Preferences bundle 版本 1.0.2

但首选项需要日志包版本 >= 1.3

它只是想了解“首选项”的工作原理,因此欢迎任何与日志兼容的捆绑包:)

问候。

0 投票
4 回答
887 浏览

java - 管理大型 OSGi 应用程序

我有一个大型的、不断增长的 OSGi 应用程序,其中包含许多捆绑包。我很想知道管理此类应用程序的最佳方法。目前,我正在使用 Eclipse 和 Maven,但尽管这对于构建捆绑包(通过 maven-bundle-plugin)非常有用,但到目前为止,管理整个应用程序并不容易。

我想做的是要么有一个运行配置,要么有一个可以启动的 pom.xml,然后构建和启动整个应用程序/项目。另外,我想要一些对调试有好处的东西。

我听说过 PAX Construct 并将它安装在 Eclipse 中,但到目前为止它没有什么帮助(也许我没有正确使用它)。

我确信有些人拥有正确管理的大型 OSGi 应用程序。任何可以分享的建议都会有很大帮助。

谢谢你,斯蒂芬

0 投票
2 回答
7683 浏览

osgi - 如何在 OSGi 容器中的包之间共享非 OSGi 库?

我在尝试在 OSGi 容器内的多个包之间共享 Struts 包时遇到了这个问题。我想避免在包中重复依赖项并在它们之间引入新的依赖项(通过让一个包导出其内部依赖项以供另一个共享)。

事实证明,如果您碰巧使用 Maven,答案非常简单,如果您不是,您仍然可以使用 Maven 解决方案来学习如何使用其他机制创建相同的结果。

我发现这种方法在我的项目中多次有用,所以我将在这里发布一个示例。

0 投票
1 回答
1807 浏览

java - mangen 将 'Bundle-ManifestVersion: 1' 添加到清单中,但 felix 似乎不接受值 1

我已经使用“Mangen”来处理我的 jar,它可以工作,但它会将下一行添加到清单中

之后 Felix 1.8.0 抱怨

如果我手动将版本更改为 2,Felix 会安装而不会出错。但即使清单已经包含 Bundle-ManifestVersion: 2,mangen 也会将其更改为 1

欢迎任何想法

0 投票
1 回答
1306 浏览

eclipse - 在访问代码之前,eclipse/osgi 激活器是否总是至少被调用一次?

在 Eclipse (3.3) 中,我有一个插件User,具体取决于插件Provider提供者有一个激活器。在提供者的插件编辑器上,它有一个复选框“加载其中一个类时激活此插件”。选中/取消选中此项将更改 Manifest 设置:Eclipse-LazyStart 为 true/false。

我的问题是,对我来说,复选框意味着如果未选中激活器可能不会运行,而设置意味着激活器将始终运行,只是您是否希望它与 eclipse 一起加载。

  1. 如果你有一个激活器,它是否总是在下游插件调用代码之前至少运行一次,不管这个复选框是什么?
  2. 此复选框是否仅适用于立即启动或延迟启动?
0 投票
2 回答
1061 浏览

eclipse - Eclipse 新插件项目向导可以针对 eclipse 版本,但是这些信息保存在哪里

在 Eclipse (3.3) 中,如果您启动 New Plugin Project Wizard,第一页有一个目标平台,您可以在其中定位 eclipse 的一个版本。

是否保存/使用了这些信息,如果是,在哪里?

此外,如果您随后创建了一个扩展,则会创建 plugin.xml,并且在顶部是(对我而言):

这个版本是从哪里来的?,是否取决于你刚刚扩展的扩展?会更新/更改吗?