解决Eclipse异常关闭后重启报 org.eclipse.swt.SWTException: Invalid thread access 的问题
.
.
.
.
.
很久没有写博客了,最近实在是太忙,一直想写点干货,但是一直没静下心来学习。
今天又在加班忙碌之中,结果谁知道越忙碌越出问题。先是 weblogic 没有正常启动,凭经验第一反应就是7001端口被其它程序占用了,然后通过命令查看之后,发现果然是被占用了,占用端口的竟然是Eclipse,查找占用端口的方式请移步至博主的另一篇文章《【windows】查询占用端口的程序——记一次解决webloigc启动失败的过程》。
Eclipse之前是不占用7011端口的,这次占用估计可能是启动了一个随机端口,恰巧占用了weblogic的web服务端口。既然已经找到了罪魁祸首,那就重启Eclipse吧。谁知点击关闭按钮的时候,没有弹出确认退出的对话框,而是界面直接就消失了,但是进程却没有消失。直觉告诉博主:坏了,可能要出问题。果然不出所料,再次启动就会弹出提示说遇到了一个问题,具体详见 workspace/.metadata/.log 文件。博主打开这个日志文件一看,里面报了一个异常:
org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:4397)
at org.eclipse.swt.SWT.error(SWT.java:4312)
at org.eclipse.swt.SWT.error(SWT.java:4283)
at org.eclipse.swt.widgets.Display.error(Display.java:1258)
at org.eclipse.swt.widgets.Display.checkDevice(Display.java:764)
at org.eclipse.swt.widgets.Display.addListener(Display.java:626)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.<init>(IDEWorkbenchAdvisor.java:176)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.<init>(IDEWorkbenchAdvisor.java:184)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
这个异常的大概意思就是在非SWT线程中是不允许操作UI组件的,否则就会抛出这个异常。
好吧,一看堆栈信息并不像是某个插件导致的,莫非是 eclipse 4.3 的bug?先不深究了。
说说这个问题是怎么解决的吧。
折腾了很久,博主差点就重装系统了,后来发现解决办法很简单,只需要在Eclipse第一次启动的时候加上一个 -clean 参数即可,下次再启动就不用加这个参数了。
再简单解释一下这个参数的作用,Eclipse为了加快启动速度会将插件进行缓存,但是恰巧就是这些缓存有的时候会出问题,所以用 -clean 参数让 Eclipse 清除掉这些缓存就行了,不过加上这个参数之后 Eclipse 的启动速度会变慢,好在只需使用一次。
解决Eclipse异常关闭后重启报 org.eclipse.swt.SWTException: Invalid thread access 的问题的更多相关文章
- org.eclipse.swt.SWTException: Invalid thread access问题解决方法
转自 http://blog.csdn.net/ecjtuxuan/article/details/2125023 怎么解决SWT多线程错误:Caused by: org.eclipse.swt.SW ...
- eclipse异常关闭,而Tomcat然在运行解决方法
1.eclipse异常关闭,而Tomcat然在运行,再启动tomcat会出现端口冲突 解决方法:打开任务管理器,找到javaw.exe,点击关闭,就可以了
- eclipse异常关闭,无法启动tomcat解决办法
如果eclipse异常关闭,会出现以下 此时需要关闭javaw.exe即可,重新启动tomcat了. 关闭javaw.exe需要打开任务关闭器,选择详细信息,然后结束javaw.exe即可
- myeclipse 8.5打开文件Could not open the editor: Invalid thread access 异常
最近打开了一个好久没用的myeclipse 8.5下的工作区间,导入一个项目,想打开文件编辑提示Could not open the editor: Invalid thread access
- Windows下使用TeamViewer连接远程服务器,以及解决“远程桌面关闭后TeamViewer不能连接”的问题
1.本地安装TeamViewer,完成后如下: 2.远程服务器也安装TeamViewer 在本地TeamViewer中得伙伴ID,输入远程的ID,弹出如下对话框,输入密码即可. 3.这时虽然可以连接, ...
- RAC 单节点实例异常关闭,关键报错ORA--29770
监控系统监控到RAC 的一个实例异常关闭 ,时间是凌晨1点多,还好没有影响到业务 之后就是分析原因 这套RAC搭建在虚拟化环境OS SUSE11 查看oracel alert log信息 Mon :: ...
- 关于Tomcat重启和关闭后重启session变化
,当页面第一次访问,session的attribute还未赋值,为null 当页面第二次访问时,这时当前的session的attribute有值了! 到了本文章的点题时刻!! 如果我是直接点击serv ...
- Eclipse 导入项目后启动报异常:java.lang.UnsatisfiedLinkError: Native Library *.dll already loaded in another classloade 解决方法
tomcat 服务器的配置信息如下:
- 解决mac eclipse 异常退出后无法打开处于loading状态
<workspace>\.metadata\.plugins\org.eclipse.core.resources目录,删除文件 .snap
随机推荐
- mysql远程访问,修改root密码
mysql -uroot -p #input password use mysql; update user set host='%' where user='root'; flush privile ...
- ORA-14404: partitioned table contains partitions in a different tablespace
SQL> drop tablespace nn_data including contents and datafiles; drop tablespace nn_data including ...
- Oracle 12C -- 设置CDB启动后,PDBs自动启动
CDB重启后,PDBs默认是处于mounted状态 SQL> select name,open_mode from v$pdbs; NAME OPEN_MODE ---------------- ...
- GDI+绘制渐变色
例1: void CTextDlg::OnPaint(){Graphics graphics(this->m_hWnd); LinearGradientBrush linGrBrush( Poi ...
- python 多进程,实际上都没有运行,sleep
进程以及状态 1. 进程程序:例如xxx.py这是程序,是一个静态的 进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元. 不仅可以通过线程完成多任务,进程也是可以 ...
- Four Node.js Gotchas that Operations Teams Should Know about
There is no doubt that Node.js is one of the fastest growing platforms today. It can be found at sta ...
- pm2 设置开机启动
一.官方文档: 官方相关文档:http://pm2.keymetrics.io/docs/usage/startup/#generating-a-startup-script 二.具体操作过程如下: ...
- redis 3.2.3的源码安装
Install necessary packages On CentOS : yum install wget make gcc tcl On CentOS yum install wget make ...
- js页面加载完后执行(document.onreadystatechange 和 document.readyState)
js页面加载完后执行javascript(document.onreadystatechange 和 document.readyState) document.onreadystatechange ...
- session 详解
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...