在Java编辑器中,我右键单击方法名称或类名或其他元素(在我的源中定义,而不是在依赖项JAR中),然后从菜单中选择References / Workspace。
在某些情况下,会找到对此类元素的引用,并按预期在“搜索”视图中显示。但是在大多数情况下没有找到引用,我知道这是错误的,因为这些元素肯定是由工作区中找到的项目中的某些代码引用的(如果我进行文件搜索,它们总是被找到,如果我按住Ctrl键单击引用,f.ex。方法调用,我按预期将其带到方法体中。
如果不使用菜单项References / Workspace,我选择代码中的元素并按Ctrl + Shift + G,或右键单击Outline视图中的元素并使用菜单项References /工作区来自那里。
工作空间中的项目没有编译错误,所有项目都正常运行。 这些项目都设置为使用Java 7 JDK(“C:\ glassfish4 \ jdk7”)。
在关于Juno的另一篇文章中,我发现了一个Index Rebuild功能,但我在Luna首选项中找不到与索引相关的任何内容。
当我使用Eclipse Kepler而不是Luna时,我正在以完全相同的方式搜索引用,并且始终可以正确找到引用。实际上这个问题在开普勒发生了很短的一段时间,然后它就消失了,我从来没有理解为什么。但是现在有了Luna,这个问题从一开始就存在,而且它似乎就在那里。
Luna的版本是4.4.0.I20140606-1215。我在Kepler中添加了相同的插件:Subclipse,TapestryTools,FindBugs,ResourceBundle Editor,TestNG。
我找不到任何在我看来影响此设置的偏好设置。
我想知道其他人是否遇到同样的问题,是否有已知原因,解决方案或解决方法。
更新2015-08-21:切换到Eclipse Mars(添加了相同的插件),问题仍然存在。
更新2016-07-27:切换到Eclipse Neon(添加了相同的插件),问题似乎不再存在。不过已经不到一个月了,所以我要等几个月才庆祝,也因为eclipse.org上的bug仍处于“新”状态,并没有提及任何解决方案(或其他任何解决方案)从那以后10个月)。如果我再次发现问题,我会在这里更新。