eclipse java.lang.ArrayIndexOutOfBoundsException
阿新 • • 發佈:2018-11-06
最近在開啟java工程中的某個檔案時。eclipse報系統記憶體溢位錯誤。
重啟進入工作空間,報如下錯誤。
!SESSION 2018-09-21 10:08:32.970 ----------------------------------------------- eclipse.buildId=4.4.2.M20150204-1700 java.version=1.8.0_45 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN Framework arguments: -product org.eclipse.epp.package.jee.product Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product !ENTRY org.eclipse.core.resources 2 10035 2018-09-21 10:08:38.090 !MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. !ENTRY org.eclipse.e4.ui.workbench 4 0 2018-09-21 10:08:42.648 !MESSAGE !STACK 0 java.lang.ArrayIndexOutOfBoundsException: 16 at com.ibm.icu.text.Bidi.resolveImplicitLevels(Bidi.java:3435) at com.ibm.icu.text.Bidi.setPara(Bidi.java:4094) at com.ibm.icu.text.Bidi.<init>(Bidi.java:5287) at com.ibm.icu.text.Bidi.<init>(Bidi.java:5174) at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.getBidiLineSegments(JavaSourceViewer.java:573) at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer$1.lineGetSegments(JavaSourceViewer.java:473) at org.eclipse.swt.custom.StyledTextListener.handleEvent(StyledTextListener.java:43) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
從網上找各種解決方案:
1. 刪除eclispe.exe 所在目錄下
/configuration/.settings/org.eclipse.ui.ide.prefs
這樣eclipse是打開了,但是開啟原來的工作空間時還是報錯。
這個問題通過刪除該工作空間下的如下目錄
.metadata/.lock
刪除這個,並將後臺程序eclipse32.exe殺掉後,重新啟動eclispse,並使用php_workspace.
啟動到一半直接掛掉了。
仔細想想出問題的點,極有可能是開啟的某個工程有問題。
完了我就在php_workspace/.metadata下查詢含有這個工作空間的工作目錄。
發現該工作空間的工程目錄在如下目錄:
./.metadata/.plugins/org.eclipse.core.resources/.projects/
將該目錄下我覺得可能有問題的工程刪除掉。重新啟動eclipse,ok, 問題解決!
從這個發生問題的點,我得出一個結論:
匯入一個工程時,如果該工程下既有doc目錄, 又有java工程目錄。最好分開匯入。
不然eclipse在開啟java工程時,在點選工程中的類檔案,想通過快速連結到宣告處時(識別為java工程後,能通過ctrl+ 變數下出現的下劃線跳轉到宣告處),可能會發生意想不到的問題。
參考連結: