OSGi注入依赖管理器(OSGi injection of dependencymanager)
我试图将DependencyManager注入我的组件。 注入BundleContext但是DependencyManager不是( @Inject )。 我究竟做错了什么?
import org.apache.felix.dm.DependencyManager; import org.apache.felix.dm.annotation.api.Component; import org.apache.felix.dm.annotation.api.Init; import org.apache.felix.dm.annotation.api.Inject; import org.apache.felix.dm.annotation.api.Start; import org.osgi.framework.BundleContext; @Component public class InjectionExample { @Inject BundleContext bundleContext; @Inject DependencyManager manager; @Init void init() { System.out.println("Bundle Context: " + bundleContext); System.out.println("Manager: " + manager); } @Start void start() { System.out.println("start"); } }I am trying to inject the DependencyManager into my component. The BundleContext is injected but the DependencyManager is not (@Inject). What am I doing wrong?
import org.apache.felix.dm.DependencyManager; import org.apache.felix.dm.annotation.api.Component; import org.apache.felix.dm.annotation.api.Init; import org.apache.felix.dm.annotation.api.Inject; import org.apache.felix.dm.annotation.api.Start; import org.osgi.framework.BundleContext; @Component public class InjectionExample { @Inject BundleContext bundleContext; @Inject DependencyManager manager; @Init void init() { System.out.println("Bundle Context: " + bundleContext); System.out.println("Manager: " + manager); } @Start void start() { System.out.println("start"); } }最满意答案
我发现了“问题”。 在我的项目中使用了2个不同版本的依赖管理器。 在强制使用一个版本后,它可以工作。
I found the "problem". In my project 2 different versions of the the dependency manager where used. After forcing usage of one version it works.
更多推荐
发布评论