(Eclipse)在“Decoration Calculation”期间发生内部错误。在Ubuntu 14.10中出现java.lang.StackOverflowError。

5

我正在使用Eclipse 4.3构建Java网站。今天,当我启动Tomcat服务器时,我的Eclipse显示以下错误:"Decoration Calculation"期间发生了内部错误。 java.lang.StackOverflowError:

java.lang.StackOverflowError
    at org.eclipse.wst.jsdt.internal.core.index.DiskIndex.readCategoryTable(DiskIndex.java:580)
    at org.eclipse.wst.jsdt.internal.core.index.DiskIndex.addQueryResults(DiskIndex.java:199)
    at org.eclipse.wst.jsdt.internal.core.index.Index.query(Index.java:154)
    at org.eclipse.wst.jsdt.internal.core.search.matching.TypeDeclarationPattern.queryIn(TypeDeclarationPattern.java:406)
    at org.eclipse.wst.jsdt.internal.core.search.matching.InternalSearchPattern.findIndexMatches(InternalSearchPattern.java:92)
    at org.eclipse.wst.jsdt.internal.core.search.matching.MatchLocator.findIndexMatches(MatchLocator.java:407)
    at org.eclipse.wst.jsdt.internal.core.search.PatternSearchJob.search(PatternSearchJob.java:116)
    at org.eclipse.wst.jsdt.internal.core.search.PatternSearchJob.execute(PatternSearchJob.java:66)
    at org.eclipse.wst.jsdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:280)
    at org.eclipse.wst.jsdt.internal.core.search.BasicSearchEngine.searchAllBindingNames(BasicSearchEngine.java:689)
    at org.eclipse.wst.jsdt.internal.core.NameLookup.findBindingSearch(NameLookup.java:2168)
    at org.eclipse.wst.jsdt.internal.core.NameLookup.findBinding(NameLookup.java:829)
    at org.eclipse.wst.jsdt.internal.core.SearchableEnvironment.findBinding(SearchableEnvironment.java:192)
    at org.eclipse.wst.jsdt.internal.core.SearchableEnvironment.findBinding(SearchableEnvironment.java:339)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:252)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:249)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2156)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getBinding(Scope.java:1136)
    at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:175)
    at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:138)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve0(LocalDeclaration.java:226)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:137)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.MethodScope.findVariable(MethodScope.java:456)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getLocalBinding(Scope.java:1202)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve0(LocalDeclaration.java:166)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:137)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:139)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.MethodScope.findVariable(MethodScope.java:456)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getLocalBinding(Scope.java:1202)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve0(LocalDeclaration.java:166)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:137)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:139)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.MethodScope.findVariable(MethodScope.java:456)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getLocalBinding(Scope.java:1202)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve0(LocalDeclaration.java:166)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:137)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:139)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.MethodScope.findVariable(MethodScope.java:456)
    at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getLocalBinding(Scope.java:1202)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve0(LocalDeclaration.java:166)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:137)
    at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:139)

我不知道为什么会出现这个错误,也不知道如何修复它。所以有人可以帮助我吗?


可能已经修复了;您使用的Eclipse版本是什么? - Makoto
至少给我们展示堆栈跟踪信息。(它应该在日志中。) - Stephen C
@Makoto 我正在使用 Eclipse 4.3 Kepler。我阅读了你的链接,但它并没有帮助我解决我的问题。 - DinhNgocHien
@StephenC 我已经在上面发布了日志。 - DinhNgocHien
2个回答

4
我在Eclipse Luna中遇到了完全相同的问题。我尝试了很多解决方案,但都没有起作用。从堆栈跟踪中可以看出,问题出在JavaScript开发工具(JSDT)上,这也是我遇到的同样问题,即使我的项目仅是一个JavaScript项目。
解决方法是通过转到Windows-preferences-General-Apperance-Label Decorations,并取消选中Javascript override function indicator来删除如下所示的javascript标签装饰: enter image description here

1
考虑使用4.4.1或4.5M1版本。之前遇到了这个问题,并在eclipse bug中找到了解决方案。希望这能有所帮助。

我已经升级到4.4.1,但错误仍未修复。 - DinhNgocHien

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接