gpt4 book ai didi

java - 添加 Equinox OSGI 钩子(Hook)抛出 ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-02 06:41:00 24 4
gpt4 key购买 nike

我正在尝试在我的 OSGi 容器中添加一个 BundleWatcher Hook ,以便我可以在加载包时监视它们。我在 config.ini 中进行了以下更改,

  1. 在 osgi.bundles 属性中添加了对我的 jar 的引用,如下所示,osgi.bundles = ,引用文件:../lib/my.jar@2:start

  2. 设置属性 osgi.framework.extensions = mybundle

  3. 将 MyBundleWatcher 添加为 osgi.hook.configurators.include 中的 Hook

此外,我的 jar 文件与 OSGi 包位于同一目录中。

当我运行我的应用程序时,我的 BundleWatcher 收到 ClassNotFoundException。

但是,我可以确认我的包(包含 BundleWatcher)确实是在调用我的包中 Activator 的启动方法时启动的。

我做错了什么?

作为背景,我关注了几篇文章,

http://wiki.eclipse.org/index.php/Adaptor_Hooks

http://eclipsesource.com/blogs/2013/01/23/how-to-track-lifecycle-changes-of-osgi-bundles/

最佳答案

为什么要使用 Equinox 特定的 BundleWatcher(它需要对 Equinox 内部结构和配置进行特殊访问)而不是 OSGi 标准 BundleTracker(它可以由任何 bundle 实现)可以在任何框架实现上工作吗?

关于java - 添加 Equinox OSGI 钩子(Hook)抛出 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137324/

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