我写了一个测试,我运行一个需要加载 osgi 服务的类。当我开始测试时,我每次都会收到 NullPointerException。运行应用程序时,它工作正常。我的捆绑上下文为空。我该如何解决这个问题?这是应该加载服务的类的行:
BundleContext ctx = getBundle(this.getClass()).getBundleContext();
deviceCfgModel = getService(ctx, IDeviceCfgModel.class);
指定包类的 Bundle,如果指定的类不是由包类加载器定义的,则为 null。
我在 API 中找到了该解释,FrameworkUtil
但我仍然不知道该怎么做。