我想检测我的应用程序(捆绑包)在哪个OSGi容器下运行。如何从Java代码做到这一点?
最佳答案
Bundle systemBundle = bundleContext.getBundle(0);
String symbolicName = systemBundle.getSymbolicName();
Version version = systemBundle.getVersion();
您可以从symbolicName和systemBundle的版本中猜测实现(felix,Equinox等)。
systemBundle的ID始终为0。