2

我有一个 Eclipse rcp 应用程序。此应用程序将尝试从应用程序外部的目录加载类文件。但是我总是收到 ClassNotFoundException 的错误。你知道类加载在 eclipse rcp 中是如何工作的吗?

基本上用例是

  1. 读取 xml 文件 - 完成
  2. 将这些 xml 数据放入 Navigator - 完成
  3. 当用户单击导航器中的数据时,在目录中找到类并尝试加载它 - classnotfoundexception

我创建了一个测试 java 项目并添加了外部类库,它可以成功找到它们。但是,如果我将它集成到 eclipse rcp 中,它会引发该错误。

4

1 回答 1

4

Eclipse RCP 应用程序使用 OSGi 类加载支持来查找与应用程序中的 OSGi 包(插件)关联的类加载器。如果你想从某个地方加载一个类,那么你需要制作一个ClassLoader可以从一个目录加载一个类(可能使用URLClassLoader)。因此,您将需要创建其中之一并使用它从所需位置加载类。

于 2012-07-18T03:32:37.397 回答