org.eclipse.swt.SWTError: No more handles的解决

在线安装完一些插件后发现报出的这个问题,问题的出现困扰了我好多天,如果把组件全部删掉就太蠢了,这些组件下载安装可不容易,网上各种方法:删除workspace配置文件的一些内容、给ini文件添加配置,等等试过来还是不行。捣鼓了好几天,终于给解决了。先说一下症状:

org.eclipse.swt.SWTError: No more handles

......

报这个错误的情况和原因很多,不同的报错详情可能解决的方法各不相同,如果你和我的问题相似,那就可以解决。我发现的问题是在创建springboot项目时添加组件时报出的,先是给出错误提示,接着要求我关闭eclipse。平时正常使用没有什么症状出现,如果鼠标只要放在添加组件的编辑器上就报错,打开log查看发现错误信息中提示大量含有ui字样的错误,这就好解决了,解决之前得保证有eclipse的安装包。由于是解决后才想着记录一下,而且不知道是什么插件冲突引起的,所以没有问题的截图,不过现在都不用考虑了,下边开始解决问题。

不管你用的是否是安装的或者非安装的,准备的安装包(免安装的)最好和现在使用的版本相同或者相近也行,比如我现用的是安装版的mars1,准备的免安装的是mars2。打开eclipse的安装目录,删除features和plugins目录下的和ui相关的所有文件夹或者jar包,我以为到这里把可能引起问题的东西删除后就没问题了,结果打开eclipse,发现问题依旧,甚至菜单也显示不全了,界面显示一秒回到解放前(像xp)。不要急,接下来来一招偷天换日:把准备好的免安装版的eclipse复制一下,覆盖安装位置的eclipse,弹出的对话框会有3个冲突,点击--->替换。之后会出现合并对话框,点击--->合并,等待全部操作完成即可。

我试了一下,初次打开会很慢,只要不报错,应该就是成功了。原理是虽然我删掉了可能引起问题的jar包或者文件夹,但是同时把eclipse显示所依赖的ui文件也删除掉了,如果重新安装之前的插件也都会不见,明显划不来。为了使损失最低,最好的方式就是替换,没错,结果成功了,插件还在那里,配置也没动。即使不知道eclipse为什么会报那个错误。

 

你可能感兴趣的:(日常问题)