Eclipse - 查找没有附加源的库的Java引用

时间:2014-01-20 13:51:20

标签: java eclipse eclipse-jdt

环境

我有一个简单的test-foo.jar库,只有两个文件:

  • 界面Foo使用单一方法void doStuff()
  • 使用单一方法Bar
  • 课程void executeFoo(Foo foo),只需拨打foo.doStuff()

然后我有一个Eclipse Java项目,它有一个实现FooImpl的类Foo。此项目具有test-foo.jar作为构建路径条目。我没有附加此JAR的源代码。

Eclipse project tree

问题

现在让我说我对实际调用doStuff()方法的人有点好奇。所以我点击FooImpl#doStuff签名并按 Ctrl + Shift + G (查找参考)。我希望在搜索结果中看到Bar#executeFoo,但结果实际上是空的。

Empty search results

问题

我有点困惑,因为我认为这在Eclipse中有效(现在已经使用Eclipse了几年)。但它似乎只适用于附带源代码的图书馆(我之前没有注意到)。

有没有办法在没有附加源的情况下在项目库中查找类型(或方法)的引用(或用法)?为什么Eclipse没有索引并显示来自.class的引用文件?


其他信息

  • 将源代码附加到JAR后,查找引用即可。
  • 我很想知道为什么Eclipse JDT开发人员决定没有索引搜索 .class没有来源。
  • 请注意,即使我没有源代码,知道正在调用我的方法的人也是非常有用的信息。
  • 在我看来.class文件中的Eclipse is indexing method references
  • 顺便说一句,NetBeans“不起作用”;)。

1 个答案:

答案 0 :(得分:0)

您需要附加到图书馆的来源。 Eclipse没有必要把你带到.class文件,因为所有你会看到的是一堆编译的jamble-wamble(这只是我提出的一个词)。 Eclipse只会导航到Java源文件。