`

Eclipse异常集

阅读更多

1、 Eclipse异常说An internal Error occrued,我查看日志有:
ENTRY org.eclipse.ui.workbench 4 0 2010-12-08 19:13:15.500
!MESSAGE Widget disposed too early!
!STACK 0
java.lang.RuntimeException: Widget disposed too early!
at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(WorkbenchPartReference.java:172)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:117)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1008)
at org.eclipse.swt.widgets.Widget.release(Widget.java:804)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:756)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:756)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:756)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:756)
at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:174)
at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:772)
at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1262)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:441)
at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:447)
at org.eclipse.swt.widgets.Shell.dispose(Shell.java:709)
at org.eclipse.jface.window.Window.close(Window.java:335)
at org.eclipse.jface.window.ApplicationWindow.close(ApplicationWindow.java:307)
at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1714)
at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:724)
at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:700)
at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:816)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:814)
at org.eclipse.jface.window.WindowManager.close(WindowManager.java:109)
at org.eclipse.ui.internal.Workbench$16.run(Workbench.java:930)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:927)
at org.eclipse.ui.internal.Workbench.access$15(Workbench.java:856)
at org.eclipse.ui.internal.Workbench$23.run(Workbench.java:1100)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.Workbench.close(Workbench.java:1098)
at org.eclipse.ui.internal.Workbench.close(Workbench.java:1070)
at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:721)
at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:700)
at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:816)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:814)
at org.eclipse.jface.window.Window.handleShellCloseEvent(Window.java:741)
at org.eclipse.jface.window.Window$3.shellClosed(Window.java:687)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:92)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:308)
at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1645)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3948)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1578)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2010)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4619)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2406)
at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:492)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1578)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2010)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4619)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2406)
at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:492)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1578)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2010)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4619)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2411)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3501)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
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:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

上网搜索到如下解释:

这绝对是一个非常愚蠢的BUG。网上找到的答案竟然是因为火狐更改了xulrunner的环境设置导致Eclipse找不到xulrunner的环境而不能够加载内置窗口。而且这个问题只在linux平台上出现过,可我这可是堂堂天朝产的盗版XP。

关于网上的解决办法:

A、发现只需在eclipse.ini的-vmargs参数后加上-Dorg.eclipse.swt.browser.XULRunnerPath=(xulrunner的目录)
而且是3.3对应1.8.0,3.4对应1.9.1

B、卸载火狐和xulrunner相关的产品。
   个人采取第一种方式解决,只不过没有考虑版本号的问题,本人的Eclipse为3.5.2的而XulRunner为1.8.1的。
注意:上述问题是解决了,后来发现因此导致了一个更为头疼的问题那就是Eclipse总是报OOM异常... ... 尝试了很多方法都没解决,即使内存参数也已足够大了

2、 扩展之什么是XULRunner
“XULRunner是一个Mozilla runtime package,可以用于启动XUL+XPCOM的应用程序。它提供安装、升级、卸载这些程序的机制。XULRunner的还将提供libxul,一个允许在其他产品中嵌入Mozilla技术的解决方案。”——翻译自Mozilla开发者中心的介绍

XULRunner是一个非常好用的基MOZILLA/Firefox 内核的引擎,不过可惜的是FF3所对应的Xulrunner 1.9.0 竟然不支持 Javascript的重开窗口,也就是说Google Adsense的Javascript链接地方它是不识别的,或者说是有些BUG没法识别。 也只能暂时用1.8.0.1来代替暂时用一下了。

XUL是英文“XML User Interface Language”的首字母缩写。它是为了支持Mozilla系列的应用程序(如Mozilla Firefox和Mozilla Thunderbird)而开发的使用者界面标示语言。顾名思义,它是一种应用XML来描述使用者界面的标示语言。XUL可以读作“zool”,即类似 “cool”的发音。
  虽然XUL并不是一种公开的标准,但它重用了许多现有的标准和技术,包括CSS、JavaScript、DTD和RDF等。所以对于有网络编程和设计经验的人士来说,学习XUL比学习其他使用者界面标示语言相对简单。
  使用XUL的主要好处在于它提供了一套简易和跨平台的widget定义。这节省了编程人员在开发软件时所付出的努力。

3、 拓展之查看Eclipse的版本号:
打开eclipse
导航: help-->About Eclipse
弹出框下方会显示一排logo,点击eclipse的那个logo(鼠标悬停,提示“Eclipse.org”)即可显示你的eclipse的版本(Eclipse Platform)。
其他软件的版本号也可以采取类似地查看方式... ...

4、上面异常的起因是我在Eclipse中从cvs界面中切回Flash界面时必定会抛异常:
!ENTRY org.eclipse.ui 4 0 2010-12-08 20:23:07.015
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
at org.eclipse.ui.internal.Perspective.onDeactivate(Perspective.java:1117)
at org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:3599)
at org.eclipse.ui.internal.WorkbenchPage.busySetPerspective(WorkbenchPage.java:1037)
at org.eclipse.ui.internal.WorkbenchPage.access$16(WorkbenchPage.java:1021)
at org.eclipse.ui.internal.WorkbenchPage$19.run(WorkbenchPage.java:3709)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:3707)
at org.eclipse.ui.internal.PerspectiveBarContributionItem.select(PerspectiveBarContributionItem.java:124)
at org.eclipse.ui.internal.PerspectiveBarContributionItem$1.widgetSelected(PerspectiveBarContributionItem.java:93)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
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:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
我使用的环境为Eclipse3.5.2+FlashBuilder4.1插件
   尝试了很多方法都没有解决,估计是因为Eclipse组件冲突的缘故... ...

5、当运行具体的Java程序出现OOM异常时可以才如如下的方式来解决:
配置eclipse的运行菜单,在自变量里输入这样的启动参数:
-Xms128m   -Xmx640m   -XX:MaxPermSize=256M

6、Eclipse报类A不存在的异常(自定义类),在Eclipse中搜索确定异常中所说的类A存在。这下子我就纳闷了... ... 折腾了两个小时后来跑道tomcat中的工程下一看发现确实没有异常所说的A类,原来是A类没有编译。
   修复方法:Propertiest——java Build Path——src 将异常对应的那段源码添加进来
   
分享到:
评论

相关推荐

    eclipse最新规则集

    2. **错误和警告**:Eclipse会根据规则集在代码中标记出可能的问题,如未使用的变量、空指针异常、潜在的资源泄漏等。这些错误和警告有助于开发者尽早发现并修复问题。 3. **FindBugs插件**:在提供的压缩包中提到...

    Eclipse3.7汉化包合集

    因此,在使用过程中如果遇到问题,如界面显示异常或功能冲突,可能需要检查汉化包是否适用于你所使用的Eclipse版本和已安装的插件。 总的来说,"Eclipse3.7汉化包合集"是一个方便实用的工具,它使得中文用户能够在...

    eclipse-jee-photon-R汉化包合集

    3. 安装汉化包后,如果遇到问题,如某些插件未汉化或出现异常,可以通过Eclipse的错误日志来排查问题。 4. 定期检查更新,以获取最新的汉化内容和修复。 总的来说,"eclipse-jee-photon-R汉化包合集"是为中国开发者...

    java视频教程(52课)下 异常 IO 线程 类集框架 开发工具之Eclipse 综合练习

    31_Java当中的异常(二).mp4 32_Java当中的IO(一).mp4 33_Java当中的IO(二).mp4 34_Java当中的IO(三).mp4 35_内部类和匿名内部类.mp4 36_Java当中的线程.mp4 37_Java当中的线程(二).mp4 38_Java当中的线程(三...

    Eclipse 代码质量检测评估插件合集

    FindBugs是一款能够检测Java代码潜在错误的工具,它能找出可能的空指针异常、未初始化的变量、资源泄露等问题。FindBugs在Eclipse中的集成使得开发者可以在编码阶段就发现这些问题,而不是等到运行时出现错误。这极...

    eclipse 入门级资料打包

    2. 异常处理:理解Java中的异常处理机制,如何使用try-catch-finally语句来捕获和处理异常。 3. 集合框架:熟悉ArrayList、LinkedList、HashMap等常用集合类的使用,以及泛型的概念。 4.IO流:学习输入/输出流的...

    Java 超市管理系统 Eclipse

    5. **异常处理**:Java异常处理是程序健壮性的重要部分,通过try-catch-finally结构捕获和处理可能出现的错误。 6. **设计模式**:在系统设计中,可能会应用到一些经典的设计模式,如单例模式(数据库连接池)、...

    eclipse开发的案例

    此外,还会用到集合框架(如ArrayList、HashMap)以及异常处理等。 3. **Servlet与JSP**:在网络商店中,用户请求会被Servlet处理,Servlet负责业务逻辑的实现,例如商品浏览、购物车管理、订单处理等。而JSP用于...

    2019最新版eclipse.rar

    它包含了一个完整的Java开发工具集,如代码编辑器、构建工具、调试器以及JUnit测试框架,使得编写、运行和调试Java代码变得异常便捷。2019版进一步提升了对Java新特性的支持,如Java 11及更高版本,确保开发者能够...

    eclipse图标资源大全

    此外,Eclipse中的每个插件都有自己的图标集,用于区分其特定功能,如Java、Python、C++、Git等插件的图标。 资源包中的“eclipseImages_NoScreenshots”可能包含以下几类图标: 1. **工作台图标**:这是Eclipse主...

    eclipse3.4插件-Hibernate

    不兼容的插件可能会导致功能异常或者无法正常运行。 2. **非精简版Eclipse**:由于插件可能依赖Eclipse的某些内置功能,因此建议使用完整版的Eclipse,而不是精简版。通常,完整版Eclipse的大小约为170MB,包含了更...

    蜘蛛纸牌 eclipse Java

    Eclipse是一款广泛使用的开源Java IDE,为开发者提供了丰富的工具集,便于编写、调试和优化Java代码。而蜘蛛纸牌是一款流行的单人桌面游戏,通常在计算机上实现时,需要处理逻辑复杂度较高的游戏规则。 【描述】中...

    benchmark人工生成网络数据集——eclipse版

    《benchmark人工生成网络数据集——eclipse版》 在信息技术领域,数据集是研究和开发的重要组成部分,尤其在网络科学和数据分析中。benchmark数据集通常被用来衡量和比较算法的性能,确保不同研究间的可比性。这个...

    新建文件夹_java_Eclipse_

    7. **插件扩展**:Eclipse的插件系统强大,可以根据需要安装Maven、Spring工具集、MyEclipse等插件,扩展其功能。 8. **工作空间**:Eclipse使用工作空间(Workspace)来管理多个项目,可以自定义工作空间的配置,...

    Eclipse sonarlint插件

    - `features`目录:通常包含Eclipse Feature描述文件,这些文件定义了插件集和它们的版本信息。 通过这些文件,Eclipse SonarLint插件能够在用户的开发环境中无缝集成,提供高效、便捷的代码质量管理服务,帮助Java...

    Eclipse 3 编程指南(英文版)

    它提供了强大的工具集,帮助开发者更高效地进行Java应用的开发。Eclipse 3支持多平台运行,包括Windows、Linux和Mac OS X等操作系统。 #### 二、Eclipse 3的特点 1. **跨平台兼容性**:Eclipse 3可以在不同的操作...

    eclipse工作流插件 含jBPM_4.4_开发指南

    jBPM 4.4提供的API和工具集可以帮助开发者解决这些问题,例如,通过监控和日志记录来分析流程性能,通过角色权限控制来确保安全性。 总之,Eclipse工作流插件结合jBPM 4.4,为Java开发者提供了一个强大而全面的平台...

    android与eclipse集成和android开发简介

    总之,Android与Eclipse的集成为开发者提供了一个高效的工作环境,从编写代码到调试应用,都能在同一个环境中完成。熟悉这个过程,对于进行Android应用开发至关重要。随着技术的发展,现在更多的人转向使用Android ...

    eclipse视频教程8-9

    【描述】"java视频"表明这个教程主要关注的是Java编程语言,Eclipse作为Java开发的主流IDE,它为开发者提供了丰富的工具集,使得编写、测试和调试Java代码变得更加便捷高效。通过观看这些视频,学习者可以了解并掌握...

    eclipse-php-2022-03-R-win32-x86_64.zip

    PDT使得在Eclipse中创建、编辑、运行和调试PHP应用变得异常便捷。同时,Eclipse还支持多种PHP框架,如Symfony、Laravel等,方便开发者进行Web应用开发。 此外,Eclipse的集成开发环境还包括了版本控制系统,如Git,...

Global site tag (gtag.js) - Google Analytics