前言

    博文纵览

  

  最近在弄编辑器的时候出现了一个十分尴尬的错误!这里收录一下:

  BUG如下图所示:

  目测堆栈,与自己开发的代码无关。完全是Eclipse自己初始化的时候遇到了问题,最头疼的就是这种问题。因为Eclipse自己的源码十分庞大,调试起来太困难了。但是也显而易见的是,既然堆栈都是Eclipse的源码,那肯定是我的使用问题了!这点毋庸置疑:

  因此主要焦点还是放在Editor的类声明上面。

  这个原因报错:Site is incorreoct

  在编辑器模型构造函数中插入断电,可以正常执行,证明其他的文件没有问题。还是编辑器本身的配置问题。
 
  查看报错源码,根据提示找到位置:
    // Sanity-check the site
if (part.getSite() != site || part.getEditorSite() != site) {
throw new PartInitException(NLS.bind(
WorkbenchMessages.EditorManager_siteIncorrect, desc
.getId()));
}

  观察发现,应该是GetSite() 或者getEditorSite()的时候出错!

  于是自习观察Editor类,寻找哪个方法可能会出现错误!于是发现错误原因!

  当我们创建Editor的时候,Eclipse为我们自动生成一个Editor的类,但是这个类时继承editpart的,他需要实现一些抽象方法:

public class test extends EditorPart {

 public test() {
// TODO Auto-generated constructor stub
} @Override
public void doSave(IProgressMonitor monitor) {
// TODO Auto-generated method stub } @Override
public void doSaveAs() {
// TODO Auto-generated method stub } @Override
public void init(IEditorSite site, IEditorInput input)
throws PartInitException {
// TODO Auto-generated method stub } @Override
public boolean isDirty() {
// TODO Auto-generated method stub
return false;
} @Override
public boolean isSaveAsAllowed() {
// TODO Auto-generated method stub
return false;
} @Override
public void createPartControl(Composite parent) {
// TODO Auto-generated method stub } @Override
public void setFocus() {
// TODO Auto-generated method stub } }

  而当我们修改这个继承的类时,并没有删除这些方法。

  尤其是这个init类,它重写了父类的init方法,但是我们却忘记给出实现。于是初始化出错....

  删除这个init(当修改继承的类时)或者调用父类的init方法(当父类是Editpart时)就可以了。

【插件开发】—— 14 Site is incorrect!编辑器启动报错!的更多相关文章

  1. IntelliJ IDEA 14.1.4导入项目启动报错:Error during artifact deployment.[组件部署期间出错]

    1.问题描述:Error during artifact deployment.[组件部署期间出错] 2.删除Artifacts 3.刷新 4.重新生成Artifacts 5.重新选择 再重新启动项目 ...

  2. selenium启动报错“ incorrect JSON status mapping for 'unknown error' (500 expected)”

    前面讲了工程启动报错“selenium启动报错Unable to read VR Path Registry from C:\Users\clinva\AppData\Local\openvr\ope ...

  3. centos6的kibana7.1无法启动报错 FATAL Error: /lib64/libc.so.6: version `GLIBC_2.14' not found 升级glibc的问题处理

    centos6的kibana7.1无法启动报错 FATAL  Error: /lib64/libc.so.6: version `GLIBC_2.14' not found 升级glibc的问题处理 ...

  4. Oracle启动报错ORA-27102解决

    环境:RHEL5.5 + Oracle 10.2.0.4 此错误一般是因为数据库的初始化参数文件的内存设置不当导致.本例是因为操作系统参数设置问题导致. 当前现象:Oracle启动报错ORA-2710 ...

  5. weblogic启动报错

    重启了一次linux服务器后,weblogic启动莫名报错,查看日志发现说部署的项目有个bean类无法加载, 1.然后手动删除 已经部署的项目,先在 domais/servers/AdminServe ...

  6. zookeeper启动报错(数据目录权限不对)

    zookeeper启动报错日志: 2016-11-16 11:19:43,880 [myid:3] - INFO [WorkerReceiver[myid=3]:FastLeaderElection@ ...

  7. struts2启动报错com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1

    好久没有搞struts2,今天配置strut2.2.1,启动时遇到个小问题.记录下. tomcat启动报错: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...

  8. apache无法启动报错No space left on device

    apache无法启动报错No space left on device 故障现象:apache无法启动ipcs信号量很多 # service httpd startStarting httpd : [ ...

  9. undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库坏块导致

    本文转自 惜纷飞 大师. 模拟基表事务未提交数据库crash,undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库 ...

随机推荐

  1. [CERC2015]Digit Division

    题目描述 We are given a sequence of n decimal digits. The sequence needs to be partitioned into one or m ...

  2. API StringBuffer类例子

    package cn.zmh.Buffer; public class StringBufferDemo { public static void main(String[] args) { prin ...

  3. 使用Spring Data Redis操作Redis(单机版)

    说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...

  4. Meteor软件包管理

    Meteor 提供数千种开发应用程序,您可以使用社区包. 添加软件包 您可以查看Meteor官方包服务器: 点击这里. 只搜索你需要的包,并在命令提示符窗口中添加它. 例如,想使用 http 包添加到 ...

  5. Reload file in vim

    68down voteaccepted Give this a try: :e From :h :e: Edit the current file. This is useful to re-edit ...

  6. ubuntu16.04LTS安装软件

    1.安装chrome 下载源加入到系统的源列表 sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/ ...

  7. MapReduce输入输出类型、格式及实例

    输入格式 1.输入分片与记录 2.文件输入 3.文本输入 4.二进制输入 5.多文件输入 6.数据库格式输入 1.输入分片与记录 1.JobClient通过指定的输入文件的格式来生成数据分片Input ...

  8. 【问题记录】LoadRunner 接口压测-json格式报文

    [问题起因] 前段时间,协助其他项目录制接口压测脚本,对方要求请求报文内容实现参数化. 请求方法如下: 直接在Parameter List中新增一个parameter, 将请求报文放入dat文件中.这 ...

  9. QuickFont使用中的3D物体消失问题

    使用基于OpenTK的QuickFont显示字体的时候,会遇到绘制的3D物体消失的问题. 搜索OpenTK的论坛后,解决办法如下: 在执行QFont.End()语句后,再后面添加GL.Disable( ...

  10. 基于开源项目的在线网络视频直播项目---pc端的推流

    https://github.com/winlinvip/simple-rtmp-server/issues/66 https://github.com/justinmakaila/iOS-Frame ...