如何从 ClassLoader 获取 Bundle 对象? (Java,OSGI)

How to get Bundle Object from ClassLoader? (Java, OSGI)

我正在处理一些旧代码,它依赖于:

import org.eclipse.osgi.framework.adaptor.BundleClassLoader;

并在这里使用它:

protected Bundle getBundle() {
    BundleClassLoader cl = (BundleClassLoader) editor.getClass().getClassLoader();
    return cl.getBundle();
}

有新的方法吗? (从 ClassLoader 中检索包)我没有找到有关此更改的任何资源。 BundleClassLoader 似乎已被弃用..

您可以使用 FrameworkUtil。

 Bundle b = FrameworkUtil.getBundle( editor.getClass() );