我为Eclipse开发了插件。它包括属性页面,多个操作和特定视图。所有这些功能都是通过特定的扩展点添加的:
<page
class="MyPropertyPage"
id="MyPage1"
name="My Project"
nameFilter="*"
selectionFilter="single">
<enabledWhen>
<instanceof
value="org.eclipse.core.resources.IProject">
</instanceof>
</enabledWhen>
</page>
<page
class="MyPropertyPage"
id="MyPage2"
name="My Project"
nameFilter="*"
selectionFilter="single">
<enabledWhen>
<instanceof
value="org.eclipse.cdt.internal.core.model.CProject">
</instanceof>
</enabledWhen>
</page>
动作命令类内容代码:
if (obj instanceof IJavaProject) {
...
} else if (obj instanceof CompilationUnit) {
...
} else if (obj instanceof TranslationUnit) {
...
}
在调试模式下,当用C ++透视图打开第二个eclipse时,它可以完美地工作。但是在运行时,它失败并出现错误java.lang.NoClassDefFoundError: org/eclipse/cdt/internal/ui/cview/CView
执行我的操作命令的尝试也失败,类似的错误java.lang.NoClassDefFoundError: org/eclipse/cdt/internal/core/model/TranslationUnit
。
帮助克服错误? 非常感谢。