如何从代码中获取 运行 OSGi 容器信息(名称、版本等)?

How to get running OSGi container info (name, version etc.) from code?

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

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

您可以从 symbolicNameversionversion 猜测实现(felix,equinox,...) systemBundle.

systemBundleid 总是 0.