【发布时间】:2015-12-01 12:34:46
【问题描述】:
我最近安装了ubuntu 16.04(自动更新到这个版本),平时用Java开发,而且我懂eclipse,所以就安装了,没问题。
我配置了所有需要的东西(Java 路径、JDK...没什么特别的),工作正常,除了 Eclipse UI。
每次创建项目时 UI 都会冻结(尽管项目创建正确),每次运行任何程序时(尽管程序运行正常(并不总是正确 xD,但那是我的错)),并且许多其他任务。
知道为什么会发生这种情况吗?更好的是,如何解决?
我还仔细检查了我正在使用的 JRE(因为我发现人们在使用开源软件时遇到问题),我使用的是 oracle 的版本(现在不确定名称,抱歉,版本 8)。 它的所有内容都是 64 位版本。
编辑:我忘了说我使用的是火星版本。另外,我刚刚安装了NetBeans(8.1),完全一样的问题,然后我以为是显卡驱动问题,再次安装,仍然有同样的问题。不知道现在该尝试什么。
更新:检查日志文件。我没有看到任何奇怪的东西,但可能会遗漏一些东西:
!SESSION 2015-12-04 13:24:38.930 -----------------------------------------------
eclipse.buildId=4.5.1.M20150904-0015
java.version=1.8.0_66
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=es_ES
Command-line arguments: -os linux -ws gtk -arch x86_64
!ENTRY org.eclipse.core.resources 2 10035 2015-12-04 13:24:40.542
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
更新 2: 我只是运行@dan 建议的命令。这是结果
"main" #1 prio=6 os_prio=0 tid=0x00007f0ec000a000 nid=0x26e0 runnable [0x00007f0ec9a18000]
java.lang.Thread.State: RUNNABLE
at org.eclipse.swt.internal.gtk.OS._gtk_widget_get_allocation(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_widget_get_allocation(OS.java:14234)
at org.eclipse.swt.widgets.Control.getBounds(Control.java:832)
at org.eclipse.jface.fieldassist.ControlDecoration.getDecorationRectangle(ControlDecoration.java:1185)
at org.eclipse.jface.fieldassist.ControlDecoration$3.paintControl(ControlDecoration.java:635)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:230)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1338)
at org.eclipse.swt.widgets.Control.gtk_draw(Control.java:3219)
at org.eclipse.swt.widgets.Canvas.gtk_draw(Canvas.java:171)
at org.eclipse.swt.widgets.Shell.gtk_draw(Shell.java:1306)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1942)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:5590)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4717)
at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:9279)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1225)
at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2425)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3428)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:172)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:387)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1002)
at org.eclipse.jdt.internal.ui.wizards.NewElementWizard.performFinish(NewElementWizard.java:134)
at org.eclipse.jdt.internal.ui.wizards.NewClassCreationWizard.performFinish(NewClassCreationWizard.java:80)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:799)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:429)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
at org.eclipse.jface.window.Window.open(Window.java:803)
at org.eclipse.ui.internal.navigator.wizards.WizardShortcutAction.run(WizardShortcutAction.java:99)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
Locked ownable synchronizers:
- None
【问题讨论】:
-
eclipse 冻结不是 Java 问题...尝试从命令行而不是 eclipse 运行项目
-
已经试过了。是的,也使用 sudo 命令:)
-
关于UI冻结...在您运行项目后,它是在项目启动时立即冻结还是在您执行某些操作后立即冻结?
-
只有当我做某事时,正如我已经说过的那样,我认为这是“有趣”的部分,它可以很好地完成每一项任务,它只是冻结 UI,我必须重新启动它。
-
我可能是错的,但也许在某个你不知道的地方存在无限循环,这导致 UI 冻结...尝试在 eclipse 中调试它做同样的事情它冻结了。我在记事本++中编程,所以我使用了穷人的调试器... System.out.println() 语句贯穿整个代码。
标签: java eclipse user-interface ubuntu freeze