看起来eclipse wiki FAQ 说
最可能的原因是,在由违规插件声明的类的静态初始化程序中引发了异常。检查 .log 文件以查看是否确实发生了这种情况。
如果在初始化组成插件的 Java 类期间引发异常,Eclipse 平台加载器将不会加载插件。
此错误的另一个常见原因是正在加载的类缺少适当的构造函数。大多数在扩展点中声明的类都必须有一个公共的零参数构造函数。检查扩展点文档以查看您在扩展中声明的类需要什么构造函数。
如果问题仅在部署打包插件时出现(即,当它没有在运行时工作台中通过 PDE 启动时),最好检查 MANIFEST.MF 文件中的 Bundle-ClassPath 属性。
包含插件类的 JAR 文件必须在Bundle-ClassPath
. 即使插件的正确类都已列出,类加载仍可能失败,因为 .class 文件可能包含对其他无法在运行时解析的类的引用。在这种情况下,需要识别缺失的类(通常通过查看有问题的类的导入语句),并且需要将必要的条目添加到Bundle-ClassPath
. 如果需要额外的 JAR 文件,还需要在build.properties
文件中列出这些 JAR,以便在打包插件时包含它们。
(请参阅此线程作为最后一点的说明)
因此,例如,在这个线程中,对于 eclipse3.0 时代的另一个问题:
该plugin.xml
文件将“ org.eclipse.core.runtime.compatablity
”指定为必需的插件。但是,我使用的是 Eclipse 版本 3.0.1,应该使用“ org.eclipse.core.runtime_3.0.1
”。
解决方案:
替换 Plugin.xml 中的行
<import plugin="org.eclipse.core.runtime.compatability"/>
和
<import plugin="org.eclipse.core.runtime"/>