繁体   English   中英

Eclipse(Kepler)工作区表现异常(类型层次结构,搜索引用不起作用)

[英]Eclipse (Kepler) Workspace acting weird (type hierarchy, searching for references not working)

使用在Windows 7(64位)上运行的Eclipse Kepler,我的工作空间运行异常。

以下无效(工作区范围):

  • 类/方法的类型层次结构显示为空
  • 寻找参考

试图

  • 重建/清洁/关闭和开放项目
  • 重新启动Eclipse
  • 重启
  • 以Clean模式启动Eclipse(-clean)
  • 手动清除索引

到目前为止, 唯一有效的方法是切换到新的工作区并在其中签出我的一个项目。 但是,这是次优的选择,因为我当前的工作空间中有一定数量的项目和设置。

编辑-堆栈跟踪

当我在“类型层次结构”视图中专门“关注”时,得到以下堆栈跟踪:

!ENTRY org.eclipse.core.jobs 4 2 2013-12-19 15:08:39.156
!MESSAGE An internal error occurred during: "Computing type hierarchy of 'String - java.lang'...".
!STACK 0
java.lang.NullPointerException
    at org.eclipse.core.runtime.Path.<init>(Path.java:183)
    at org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:182)
    at org.eclipse.jdt.internal.core.JavaModel.getJavaProject(JavaModel.java:189)
    at org.eclipse.jdt.internal.core.search.IndexSelector.getJavaProject(IndexSelector.java:286)
    at org.eclipse.jdt.internal.core.search.IndexSelector.initializeIndexLocations(IndexSelector.java:217)
    at org.eclipse.jdt.internal.core.search.IndexSelector.getIndexLocations(IndexSelector.java:276)
    at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.selectIndexURLs(JavaSearchParticipant.java:121)
    at org.eclipse.jdt.internal.core.search.PatternSearchJob.getIndexes(PatternSearchJob.java:84)
    at org.eclipse.jdt.internal.core.search.SubTypeSearchJob.getIndexes(SubTypeSearchJob.java:33)
    at org.eclipse.jdt.internal.core.search.PatternSearchJob.ensureReadyToRun(PatternSearchJob.java:52)
    at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:174)
    at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.searchAllPossibleSubTypes(IndexBasedHierarchyBuilder.java:523)
    at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.determinePossibleSubTypes(IndexBasedHierarchyBuilder.java:406)
    at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build(IndexBasedHierarchyBuilder.java:120)
    at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute(TypeHierarchy.java:300)
    at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh(TypeHierarchy.java:1267)
    at org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation(CreateTypeHierarchyOperation.java:90)
    at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
    at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
    at org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy(BinaryType.java:918)
    at org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy(BinaryType.java:876)
    at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.createTypeHierarchy(TypeHierarchyLifeCycle.java:299)
    at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.doHierarchyRefresh(TypeHierarchyLifeCycle.java:330)
    at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.doHierarchyRefreshBackground(TypeHierarchyLifeCycle.java:271)
    at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle$2.run(TypeHierarchyLifeCycle.java:224)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

任何人?

找到了问题。

由于某种原因,我的一个项目中的资源已损坏。 它没有显示在软件包树中,但是确实在Eclipse的错误日志中显示为

为外部文件夹X:\\ somefolder创建链接时出错

在检查了每个项目之后(因为错误未指向一个项目),我确实在一个构建路径中找到了该资源(在Configure Build Path菜单中,它确实显示了一个错误图标!)并将其删除。

现在,一切再次正常!

感谢大家的回复/评论。 将其发布给将来遇到相同问题的开发人员。

经验教训:做(广泛地)检查Eclipse错误日志!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM