【发布时间】:2011-04-23 19:15:40
【问题描述】:
在普通的 java 应用程序中,可以使用以下命令打印类路径的内容:
String ss = System.getProperty("java.class.path");
System.out.println(ss);
但是如何打印使用 eclipse PDE 向导创建的 OSGI 包的类路径?在激活器中,可以获取当前包,例如:
public void start(BundleContext context) 抛出异常 { 超级开始(上下文); 插件 = 这个;
Bundle b = context.getBundle();
// java doc: This bundle's class loader is not used to search for entries.
b.findEntries(path, filePattern, recurse)
但是 javadoc 说 findEntries 不使用类加载器。有什么简单的方法可以查看/打印当前包的类路径中的内容吗?
【问题讨论】:
-
第一个问题是:你为什么要这么做?捆绑包没有真正的类路径概念,只有一组可访问的类。
-
只是要明确一点:有一个称为 Bundle-ClassPath (osgi core 3.2.1.4) 的包头,但是鉴于您的“java.class.path”示例,这可能不是您的意思.