eclipse java.lang.ArrayIndexOutOfBoundsException

 

最近在打开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+ 变量下出现的下划线跳转到声明处),可能会发生意想不到的问题。

 

参考链接:

https://stackoverflow.com/questions/19023367/eclipse-startup-exception-java-lang-arrayindexoutofboundsexception-in-choosewor

https://stackoverflow.com/questions/7465793/eclipse-workspace-in-use-or-cannot-be-created-chose-a-different-one

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值