当前位置: 首页 > 知识库问答 >
问题:

添加抛出ClassNotFoundException的Equinox OSGI钩子

端木皓君
2023-03-14

我试图在OSGi容器中添加一个BundleWatcher钩子,这样我就可以在包加载时监视它们。我在config.ini中做了以下更改,

>

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

    设置属性osgi.framework.extensions=mybundle

    在osgi.hook.configurators.include中添加MyBundleWatcher作为钩子

    当我运行我的应用程序时,我得到了一个BundleWatcher的ClassNotFoundException。

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

    我做错了什么?

  • 共有1个答案

    长孙和悦
    2023-03-14

    为什么要使用Equinox特定的BundleWatcher-它需要对Equinox内部和配置的特殊访问-而不是OSGi标准的Bundletracker,后者可以由任何bundle实现,并且可以用于任何框架实现?

     类似资料:
    • 问题内容: Java程序中的“思考”如下: 我期望输出如下: 但是得到 显然,try块抛出ClassNotFoundException,这是意外的。有什么想法为什么代码会抛出此错误而不是像预期的那样初始化Gum类? 问题答案: 你的类在包,所以他们完全合格的名称,和。仅接受标准名称: 参数: -所需类的完全限定名称。 将您的代码更改为:

    • 问题内容: 我正在尝试使用Java,并想通过Java的客户端/服务器进行测试,以使客户端将自定义类(消息)的简单对象发送到服务器。问题是我一直在服务器端收到ClassNotFoundException。 我认为其余代码似乎还不错,因为其他对象(例如String)可以顺利通过。 我在不同的位置分别有两个不同的netbeans项目,分别用于客户端和服务器。 他们每个人在各自的程序包下都有自己的Mess

    • 我在这里完全不知所措。我在外置硬盘上有一个项目叫做LenseProject。在LenseProject中,我有

    • 当我想从其他线程向GUI添加节点时,我遇到了问题。它抛出非法状态异常,我不知道如何修复它。 我只是加载我的。FXML文件到GUI与此控制器,当程序启动时,它运行Thread负责与服务器(clientTH.start();)通信,一切正常。但是当服务器在初始化后发送数据时。并且我希望将此数据添加到我的仪表板,我像以前一样使用方法公共同步无效addToDashBoard(窗格根),但它抛出java.l

    • 添加插件钩子有两种方法 添加执行多次的插件钩子 hook($hook, &$params = null, $extra = null) 功能 添加执行多次的插件钩子 参数 $hook: string 钩子名称 $params: boolean 传入参数 $extra: boolean 额外参数 返回 string 插件执行结果 添加只执行一次的插件钩子 hook_one($hook, &$par

    • X1.4.0新增 hook($hook,$param) 功能: 添加钩子 参数: $hook:钩子名称 $param:传入参数,默认为空数组 返回: 无 模板使用: {:hook('footer')} {:hook('sider',array('text'=>'hello ThinkCMF')} 控制器方法里使用: //不带参数 hook('your_hook_name'); //带参数 h