java - 如何修复启动 eclipse 时出现的这个错误日志?
问题描述
几天前,我第一次设置了我的 Eclipse 以使用 JavaFX。Eclipse 已经在我的计算机上设置了几个月,并且在我的计算机上运行没有任何问题。今天我尝试启动 Eclipse,但无法启动。日志文件中的第一个异常如下。完整日志文件位于:https ://pastebin.com/NKLgdfhG
有任何想法吗?
!ENTRY org.eclipse.jdt.ui 4 0 2018-09-11 19:48:16.228
!MESSAGE Error retrieving proposal text.
Display string:
No Proposals
Pattern:
out.println("
!STACK 0
java.lang.StringIndexOutOfBoundsException: String index out of range: 13
at java.lang.String.substring(Unknown Source)
at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getPatternMatchRule(AbstractJavaCompletionProposal.java:919)
at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getStyledDisplayString(AbstractJavaCompletionProposal.java:1256)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.handleSetData(CompletionProposalPopup.java:861)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$8(CompletionProposalPopup.java:844)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup$3.handleEvent(CompletionProposalPopup.java:597)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1103)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1088)
at org.eclipse.swt.widgets.Table.checkData(Table.java:1189)
at org.eclipse.swt.widgets.Table.wmNotifyChild(Table.java:6981)
at org.eclipse.swt.widgets.Control.wmNotify(Control.java:5869)
at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:2025)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:5423)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4899)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:359)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1657)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2199)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5191)
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2454)
at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:587)
at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:453)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4941)
at org.eclipse.swt.widgets.Table.windowProc(Table.java:6118)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5191)
at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3333)
at org.eclipse.swt.widgets.Table.select(Table.java:3519)
at org.eclipse.swt.widgets.Table.setSelection(Table.java:5256)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.selectProposal(CompletionProposalPopup.java:1407)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.setProposals(CompletionProposalPopup.java:1179)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup$1.run(CompletionProposalPopup.java:366)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4213)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3820)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
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:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
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:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
解决方案
提到的日志条目发生在 2018 年 9 月。最后的条目插入到日志的末尾,而不是开头。
可能是在 2019 年 4 月 8 日至 13 日期间在您的系统上从 Java 8 升级到 11导致问题(Java 11 不再包含 JavaFX):
!SESSION 2019-04-08 20:31:32.915 -----------------------------------------------
eclipse.buildId=4.7.1.M20171009-0410
java.version=1.8.0_161
[...]
!SESSION 2019-04-13 00:34:34.112 -----------------------------------------------
eclipse.buildId=4.7.1.M20171009-0410
java.version=11.0.2
使用 Java 8 运行 Eclipse应该可以解决您的问题。如果你想用 Java 11 运行 Eclipse,你必须先升级 Eclipse(你落后了四个版本)。
推荐阅读
- javascript - 表单始终使用 Javascript 确认提交
- c++ - malloc、free、多指针,它是如何工作的?
- identityserver4 - 是否有 git hub 项目可供参考以将现有用户 Db 带到身份服务器 4?如果有,请指点我
- django - Sorl-thumbnail 不在“/cache”文件夹中生成缩略图
- javascript - 用单引号内的转义引号解析 JSON 时出错
- javascript - 有人可以帮助解释为什么它返回不同的总和吗?
- visual-studio-code - vscode给出的建议的部分自动完成?
- java - 在没有 pojo 的情况下在 spring 中进行 mongodb 查询
- laravel - 或 where 子句 - Laravel 雄辩
- python - 将 csv 转换为 xlsx 数字,存储为混合类型数据中的文本问题