Eclipse IDE中 - 公开征集层次是空的/断(Eclipse IDE - Open Call

2019-07-22 07:21发布

我应该怎么做,如果“打开调用层次结构”被打破(空的每个方法的一个项目)? 这只能说明,我想看看呼叫层次的方法的名称。 出现这种情况我尝试所有方法,即使他们都是通过其他方法调用。

这是代码导航功能是非常有用的。 我不知道如何没有它的工作!

我试过了:

  1. 开放eclipse.exe -clean -refresh
  2. 。重新启动Eclipse
  3. 关闭并重新打开项目
  4. 更新项目
  5. 重命名文件.metadata

我检查它搜索整个工作区,并有过滤器上。

Answer 1:

以下信息可能有助于:

  • 调用与Eclipse eclipse.exe -clean -refresh力Eclipse来重建索引。 在此之后,功能同样的工作。
  • 关闭并重新打开项目。


Answer 2:

我也尝试过上述建议,以及这里给出的提示: http://mschrag.blogspot.co.at/2009/01/open-type-cant-find-your-class.html

没有什么工作,直到今天,当我发现我是驴......我曾经在“调用层次”视图配置过滤器等被证明没有任何条目,因为过滤掉。 一旦我删除/禁用过滤一切好起来的工作。



Answer 3:

当你去到日食错误报告对这个问题,有人说,你应该安装在市场上的Java 12 support
当我安装了它,它再正常工作



Answer 4:

此外,还可以尝试删除工作区,并把它重新创建。 确保所有项目进行备份。



Answer 5:

开普勒和PDT(PHP IDE),它是在至少PDT 3.2.0和3.3.0破损(试过他们两个)。 解决方法是在3.3.1和更新到这是所有我不得不这样做让调用层次再次合作。

(道歉,我还没有允许添加注释,但是这应该证明方便许多)



Answer 6:

在我的情况下,似乎我的工作区被污染。

开/关项目,并用干净的没有修复开始。 我不得不开始了新的工作空间。

Fedora的20,Eclipse的开普勒。



Answer 7:

我有日食开普勒(4.3.2)相同的行为。

我发现,有与签名方法的错误:

void get(Object o)
Object get(Object o)

在Eclipse 错误日志视图我发现以下异常:

java.lang.NullPointerException
    at org.eclipse.jdt.internal.core.search.matching.ClasspathSourceDirectory.directoryTable(ClasspathSourceDirectory.java:52)
    at org.eclipse.jdt.internal.core.search.matching.ClasspathSourceDirectory.findClass(ClasspathSourceDirectory.java:109)
    at org.eclipse.jdt.internal.core.search.matching.JavaSearchNameEnvironment.findClass(JavaSearchNameEnvironment.java:146)
    at org.eclipse.jdt.internal.core.search.matching.JavaSearchNameEnvironment.findType(JavaSearchNameEnvironment.java:185)
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:145)
    at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:197)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2799)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2556)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.getType(MatchLocator.java:899)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.getMethodBinding0(MatchLocator.java:955)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.getMethodBinding(MatchLocator.java:907)
    at org.eclipse.jdt.internal.core.search.matching.MethodLocator.matchMethod(MethodLocator.java:327)
    at org.eclipse.jdt.internal.core.search.matching.MethodLocator.resolveLevel(MethodLocator.java:664)
    at org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.locateMatches(ClassFileMatchLocator.java:209)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.process(MatchLocator.java:1699)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1143)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1184)
    at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1301)
    at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.java:95)
    at org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:231)
    at org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:515)
    at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:584)
    at org.eclipse.jdt.internal.corext.callhierarchy.CallerMethodWrapper.findChildren(CallerMethodWrapper.java:155)
    at org.eclipse.jdt.internal.corext.callhierarchy.MethodWrapper.performSearch(MethodWrapper.java:301)
    at org.eclipse.jdt.internal.corext.callhierarchy.MethodWrapper.doFindChildren(MethodWrapper.java:232)
    at org.eclipse.jdt.internal.corext.callhierarchy.MethodWrapper.getCalls(MethodWrapper.java:84)
    at org.eclipse.jdt.internal.ui.callhierarchy.DeferredMethodWrapper.getCalls(DeferredMethodWrapper.java:65)
    at org.eclipse.jdt.internal.ui.callhierarchy.DeferredMethodWrapper.fetchDeferredChildren(DeferredMethodWrapper.java:79)
    at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:235)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

最后,它看起来像在这个版本中的错误:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=401272

我想,那升级至少要4.4版本(月神)会解决这个问题。



Answer 8:

以我为例,我试图让一个方法的调用层次的派生类的抽象类。 请求的方法被宣布为在基类抽象。 当我直接在抽象方法,而不是实现一个打开调用层次,一切运作良好。 (Eclipse的氖)。



Answer 9:

我的问题是,打开调用层次结构是只搜索项目而不是整个工作区。 所以我不得不点击小向下箭头(在右边的调用层次视图窗口;它是“View菜单”箭头 - 指向下方的三角形)的调用层次结构视图,设置搜索范围>工作。



Answer 10:

如果呼叫层次是不开放,这可能是因为项目不导入为一个Java项目,而是将在文件stucture显示。 您可能希望通过启用项目方面:

right click on the project -> project facet.  

如果你没有看到任何东西列出,您需要

configure the project facet -> Apply -> ok. 


文章来源: Eclipse IDE - Open Call Hierarchy is empty/broken