1

我已经为 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

有助于克服错误?提前非常感谢。

4

0 回答 0