我正在按照本教程将 OSGi 嵌入到基于 maven 的应用程序中。我有一个类文件,可以创建并启动此处提到的框架,并且它在那里工作正常,因为我能够轻松获得 BundleContext。
我在我的 pom.xml 文件中添加了这个依赖项。
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-mvn</artifactId>
<version>1.3.6</version>
</dependency>
现在,当我运行我的整个框架并且当它到达我需要使用的同一个基于 maven 的项目中的一个新类文件时,BundleContext
我想我可以使用这段代码来获取 BundleContext`
FrameworkUtil.getBundle(ModelProcessor.class).getBundleContext();
但不知何故,上面的代码把我扔了NullPointerException
,然后我试着打印出来看看发生了什么——
System.out.println(FrameworkUtil.getBundle(ModelProcessor.class));
所以上面的行打印 -null
有谁知道 null 在这里对 OSGi 意味着什么以及我可以做些什么来解决这个问题?
谢谢您的帮助。