我正在测试类的Pax-Exam容器中安装OSGi包,以下是我的代码段。
@Configuration
public Option[] config() {
return options(
mavenBundle().artifactId("sample-bundle").groupId("org.sample.code").versionAsInProject(),
我在我的捆绑激活器中有一个服务注册,如上面的示例包那样。
bundleContext.registerService(TestCode.class.getName(), testClassInstance, null);
调试测试用例后,发现上面的bundle没有被激活(状态号32)并且它处于已解析状态(状态号4)。但是,从捆绑包的start()方法中删除上述服务注册后,bundle已成功激活。
知道这里出了什么问题吗?。
答案 0 :(得分:1)
也许Activator中有一个例外。这些错误通常不会显示在日志中。使用try catch并批量处理异常。 除此之外,我发现您有时会通过在测试用例中抓取并启动捆绑包来获得更好的错误消息。