今天在eclipse上,想查看一些开源框架的源代码,在按下ctrl点击左键之后,出现了Source not found的提示,如下图:
这个问题怎么解决呢?
其实是这样的。在查看自己写的函数的时候,ctrl当然没有问题,但是我们引用别人写的包,就有问题了。比如我这个工程,引入了3个external jar,并且在程序里用到了它们封装的类和方法:
我们是看不到这些类和方法的源代码的,因为这些jar文件都是编译好的jar包,所以,我们需要在里面绑定source文件,这样才能查看源代码。
对其中一个jar文件点击右键–properties,第一个选项就是java source attachment,在这里,我们可以绑定和这个jar包对应的源文件。一般来说,开源的项目里,这些源文件的命名都是在后面加多一个-sources。在这里,我需要找到的是hadoop-mapreduce-client-core-2.5.2-sources.jar,一般来说,这个文件会在你引用的jar包目录下的source文件夹下,可以找找看。
比如我找到hadoop-mapreduce-client-core-2.5.2-sources.jar,将其绑定:
点击ok,绑定完毕。这时候这个jar包图标发生了变化,即有个小的正方形附在上面(对比前面的图):
现在,再使用ctrl+左键,或者对着类或者函数右键–open declaration,都可以直接跳到源代码页面了。