最近学习RCP遇到不少问题,解决后觉得应该写点东西与同道朋友们分享一下。笔者也是刚刚接触RCP如文章中有错误欢迎执政。本文只涉及报错信息及解决方法,希望高手能够解释深层次的原因。
                                                                                                                                                                                                      
" org.eclipse.ui.PartInitException: Unable to open editor, unknown editor ID: package.class"、" org.eclipse.ui.PartInitException: Editor initialization failed: package.class.  Site is incorrect."及" org.eclipse.core.runtime.AssertionFailedException: null argument:A part's title tool tip must be non-null"处理方法

1."org.eclipse.ui.PartInitException: Unable to open editor, unknown editor ID: package.class"处理方法
报错原因:plugin.xml中<extension>标签中没有icon项
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="testrcp.testeditor"
            id="testrcp.testeditor"
            name="New EditorPart">
      </editor>
   </extension>
解决方法:plugin.xml中<extension>加入icon,该项可以为空。
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="testrcp.testeditor"
            icon=""
            id="testrcp.testeditor"
            name="New EditorPart">
      </editor>
   </extension>

2."org.eclipse.ui.PartInitException: Editor initialization failed: package.class.  Site is incorrect."处理方法
报错原因:EditorPart类的init()未实现
package testrcp;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.EditorPart;

public class testeditor extends EditorPart {

public static final String ID = "testrcp.testeditor"; //$NON-NLS-1$

/**
     * Create contents of the editor part
     * @param parent
     */
    //@Override
   
    public void createPartControl(Composite parent) {
        Composite container = new Composite(parent, SWT.NONE);
        //
    }

@Override
    public void setFocus() {
        // Set the focus
    }

@Override
    public void doSave(IProgressMonitor monitor) {
        // Do the Save operation
    }

@Override
    public void doSaveAs() {
        // Do the Save As operation
    }

@Override
    public void init(IEditorSite site, IEditorInput input)
            throws PartInitException {
           
    }

@Override
    public boolean isDirty() {
        return false;
    }

@Override
    public boolean isSaveAsAllowed() {
        return false;
    }

}
解决方法:实现init()方法如下  
    public void init(IEditorSite site, IEditorInput input)
            throws PartInitException {
       
        System.out.println(input.toString());
        this.setInput(input);
        this.setSite(site);
   
    }
   
                                                                                                                                                                                                     
3."org.eclipse.core.runtime.AssertionFailedException: null argument:A part's title tool tip must be non-null"处理方法
报错原因:EditorInput类的getToolTipText()返回值为null  
package testrcp;

import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IPathEditorInput;
import org.eclipse.ui.IPersistableElement;

public class testEditorInput implements IPathEditorInput {

public testEditorInput() {
        // TODO Auto-generated constructor stub
        super();
       
    }

@Override
    public IPath getPath() {
        // TODO Auto-generated method stub
        return null;
    }

@Override
    public boolean exists() {
        // TODO Auto-generated method stub
        return false;
    }

@Override
    public ImageDescriptor getImageDescriptor() {
        // TODO Auto-generated method stub
        return null;//WorkbenchImages.getImageDescriptor("");
    }

@Override
    public String getName() {
        // TODO Auto-generated method stub
        return "testEditorInput";
    }

@Override
    public IPersistableElement getPersistable() {
        // TODO Auto-generated method stub
        return null;
    }

@Override
    public String getToolTipText() {
        // TODO Auto-generated method stub
        return null;
    }

@Override
    public Object getAdapter(Class adapter) {
        // TODO Auto-generated method stub
        return null;
    }

}
解决方法:重写getToolTipText()方法return值可以为""或任意字符类型。
    public String getToolTipText() {
        // TODO Auto-generated method stub
        return "";
    }

RCP Editor 常见错误处理方法相关推荐

  1. 普元EOS开发积累第一篇(常见错误解决方法) 持续更新

    普元EOS开发积累第一篇(常见错误解决方法) 持续更新 参考文章: (1)普元EOS开发积累第一篇(常见错误解决方法) 持续更新 (2)https://www.cnblogs.com/tangjing ...

  2. Spark程序运行常见错误解决方法以及优化

    Spark程序运行常见错误解决方法以及优化 参考文章: (1)Spark程序运行常见错误解决方法以及优化 (2)https://www.cnblogs.com/double-kill/p/901238 ...

  3. nginx配置与常见错误解决方法

    nginx配置与常见错误解决方法 参考文章: (1)nginx配置与常见错误解决方法 (2)https://www.cnblogs.com/lechie/archive/2011/11/12/2383 ...

  4. jack server 常见错误解决方法

    jack 服务常见错误解决方法 当你编译Android时,你不需要修改任何内容. Jack是Andriod M的默认编译工具.只需使用标准的makefile命令执行即可.当第一次执行jack时,它会在 ...

  5. jack 服务常见错误解决方法

    jack 服务常见错误解决方法 当你编译Android时,你不需要修改任何内容. Jack是Andriod M的默认编译工具.只需使用标准的makefile命令执行即可.当第一次执行jack时,它会在 ...

  6. web常见错误解决方法

    web常见错误解决方法 Http状态码: 分类 分类描述 1** 信息,服务器收到请求,需要请求者继续执行操作 2** 成功,操作被成功接收并处理 3** 重定向,需要进一步的操作以完成请求 4** ...

  7. jack server 常见错误解决方法【转】

    本文转载自:https://blog.csdn.net/qq_27061049/article/details/70156200 jack 服务常见错误解决方法 当你编译Android时,你不需要修改 ...

  8. Java003-HelloWorld程序及其常见错误解决方法

    Java003-HelloWorld程序及其常见错误解决方法 一.HelloWorld程序 一个正确的HelloWorld程序.可以复制该段代码来检验自己写的代码是否正确(ps:修改类名HelloWo ...

  9. C#常见错误解决方法

    1.能提供Visual Studio开发工具包吗? 解决方法: Visual Studio 2017开发环境下载地址: https://www.visualstudio.com/zh-hans/dow ...

最新文章

  1. 画出漂亮的神经网络图!神经网络可视化工具集锦搜集
  2. 李飞飞力赞论文:描述视频密集事件新模型 !(附论文)
  3. mysql条件填充命令_mysql的简单命令
  4. Windows PE第九章 线程局部存储
  5. Python 深拷贝和浅拷贝的区别
  6. ABAP很厉害是怎么一种体验?
  7. jzoj4249-游戏【贪心】
  8. 【java笔记】Collections集合工具类
  9. 4.3 朴素贝叶斯分类实战——新闻分类、垃圾邮件识别
  10. 众信金融获“2015最佳绿色贡献奖”
  11. 【cf-edu-round72: C 】The Number Of Good Substrings(思维)
  12. 家用智能门锁常见的开锁方式,主要有哪些?
  13. acrobat PDF删除部分_【低碳环保打印四大金刚】四款优秀的专业PDF虚拟打印机分享...
  14. gstreamer插件指南
  15. 【CODETOOL】文件比较Beyond Compare使用介绍
  16. 网络工程师常用的软件工具整理,最新软件安装包分享
  17. 登山赏红叶 爬山也要讲科学
  18. 黑灰白箱测试+Ubuntu wireshark wifibluetooth
  19. 学计算机c语言吗,学习C语言对学习计算机很重吗?
  20. Python实现SMMS图床

热门文章

  1. csgo准星设置代码_csgo准星设置指令
  2. 软件定义网络(PART 3)
  3. mysql语句distinct_MySQL DISTINCT语句
  4. 图解蓝牙 BR/EDR 和BLE的区别
  5. java技术交流群532101200
  6. idea为web项目添加tomcat并配置Artifacts
  7. C++——隐式类型转换
  8. 高斯原型网络原论文高质量翻译
  9. iPhone 隐藏了App 如何恢复
  10. 解惑一---大数据与Oracle数据库