我想检测我的应用程序(捆绑包)在哪个OSGi容器下运行。如何从Java代码做到这一点?

最佳答案

Bundle systemBundle = bundleContext.getBundle(0);
String symbolicName = systemBundle.getSymbolicName();
Version version = systemBundle.getVersion();


您可以从symbolicName和systemBundle的版本中猜测实现(felix,Equinox等)。

systemBundle的ID始终为0。

07-24 19:39